log4j2 如何打印类名

业余编程人士 发布于 2017/09/18 10:05
阅读 1K+
收藏 0

大家好,我在配置log4j2.xml时候配置了2个logger 但是在使用的时候 没有打印出类名,我的需求是不同的logger 日志记录到不同的文件中 所以我配置了 多个logger。 

	<Appenders>
		<File name="App-Appender" fileName="${path}/app_log.log">
			<PatternLayout>
				<pattern>
					[%-5level] %d{yyyy-MM-dd HH🇲🇲ss.SSS} [%t] %c{1} - %msg%n
				</pattern>
			</PatternLayout>
		</File>
        <File name="SpringBoot-Appender" fileName="${path}/springboot_log.log">
			<PatternLayout>
				<pattern>
					[%-5level] %d{yyyy-MM-dd HH🇲🇲ss.SSS} [%t] %c{1} - %msg%n
				</pattern>
			</PatternLayout>
		</File>
  </Appenders>
  <Loggers>
		<Logger name="loggerOne" level="error" additivity="false">
			<AppenderRef ref="App-Appender" />
		</Logger>
		<Logger name="loggerTwo" level="error" additivity="false">
			<AppenderRef ref="SpringBoot-Appender" />
		</Logger>
	</Loggers>
private final Logger logger = LoggerFactory.getLogger("loggerOne");

logger.error("This is an error message");

[ERROR] 2017-09-18 09:48:14.075 [main] loggerOne - This is an error message

但是如果传入class对象是可以打印类名 但是不能做到不同日志分到不同文件效果

private final Logger logger = LoggerFactory.getLogger(App.class);

logger.error("This is an error message");

请问 大家一般是怎么做才能打印类名对于各个日志而言,对于这种情况 谢谢。

 

 

加载中
0
z
zmlxll

MDC自己研究

0
Serbash
Serbash
<layout class="org.apache.log4j.PatternLayout">  
            <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss\} %-5p] [%t] %c:%L-%m%n"></param> 
        </layout>  

 

0
jalena
jalena

看文档啊。~~~~~

返回顶部
顶部