如何修改SLF4J日志输出
How to modify SLF4J log output
如何在 sl4j 中抑制类名?
public class LogManager {
static Logger logger = LoggerFactory.getLogger(classname);
static void log(String sender, String msg) {
logger.info(sender + " - " + msg);
}
}
它的输出是这样的:
2018-05-23 16:15:41,000 [ 196598] WARN - [classname] - [sender] - [msg]
如何删除类名?
其他问题:有没有办法去掉loglevel?字符串中的“[196598]”是什么数字,如何去掉?
如果您正在使用 Log4j,您可以使用 org.apache.log4j.PatternLayout
来格式化日志信息。
conversionPattern
设置转换模式。默认为 %r [%t] %p %c %x - %m%n
.
c
- 用于输出日志事件的类别。
例如,对于类别名称 "a.b.c"
,模式 %c{2}
将输出 "b.c".
C
- 用于输出发出日志请求的调用者的完全限定 class 名称。
例如,对于 class 名称 "org.apache.xyz.SomeClass"
,模式 %C{1}
将输出 "SomeClass"
.
定义文件追加器的布局 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd}-%t-%x-%-5p-%-C{1}:%m%n
这就是你需要在log4j的配置文件中提供的方式。
如何在 sl4j 中抑制类名?
public class LogManager {
static Logger logger = LoggerFactory.getLogger(classname);
static void log(String sender, String msg) {
logger.info(sender + " - " + msg);
}
}
它的输出是这样的:
2018-05-23 16:15:41,000 [ 196598] WARN - [classname] - [sender] - [msg]
如何删除类名?
其他问题:有没有办法去掉loglevel?字符串中的“[196598]”是什么数字,如何去掉?
如果您正在使用 Log4j,您可以使用 org.apache.log4j.PatternLayout
来格式化日志信息。
conversionPattern
设置转换模式。默认为 %r [%t] %p %c %x - %m%n
.
c
- 用于输出日志事件的类别。
例如,对于类别名称 "a.b.c"
,模式 %c{2}
将输出 "b.c".
C
- 用于输出发出日志请求的调用者的完全限定 class 名称。
例如,对于 class 名称 "org.apache.xyz.SomeClass"
,模式 %C{1}
将输出 "SomeClass"
.
定义文件追加器的布局 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd}-%t-%x-%-5p-%-C{1}:%m%n
这就是你需要在log4j的配置文件中提供的方式。