我如何在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]"在字符串中,如何删除?
答案 0 :(得分:0)
如果您使用的是 Log4j ,则可以使用org.apache.log4j.PatternLayout
格式化日志记录信息。
conversionPattern
设置转换模式。默认值为%r [%t] %p %c %x - %m%n
。
c
- 用于输出日志记录事件的类别。
例如,对于类别名称"a.b.c"
,模式%c{2}
将输出"b.c".
C
- 用于输出发出日志记录请求的调用者的完全限定类名。
例如,对于班级名称"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的配置文件中提供的方法。