如何修改SLF4J日志输出

时间:2018-05-23 14:26:53

标签: java slf4j

我如何在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]"在字符串中,如何删除?

1 个答案:

答案 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的配置文件中提供的方法。