在 Eclipse 控制台中显示 Log4J2 输出
Show Log4J2 Output in Eclipse Console
我无法配置我的 Web 应用程序项目以在 Eclipse 控制台 中显示 LOG4J2 输出。它会转到某个 tomcat 日志位置。
尝试了所有线程,但没有任何帮助。
首先,假设 LOG4J2.XML 原来在这里:./appconfig/dev/log4j2.xml
我按照示例将此文件夹添加为 Class 路径下的库,但这没有用。
然后我尝试 this example 使用配置文件的 -D 参数,
还尝试将其添加到 DeploymentAssembly 将移动到的位置 WEB-INF/classes,
没有任何帮助,除了 Hibernate-only 输出之外,我没有得到此应用程序的 log.info
/log.error
的 Eclipse 控制台输出。
LOG4J2.XML:
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n"/>
</Console>
<RollingFile name="file" fileName="/local/content/tomcat/idp/logs/idp.log" append="true"
filePattern="/local/content/tomcat/idp/logs/idp.log.%i">
<PatternLayout>
<Pattern>%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="gov" level="debug" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.springframework.orm" level="info" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.hibernate.sql" level="info" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.springframework.web" level="debug" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.hibernate.type" level="info" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Logger name="net.sf.ehcache" level="trace" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Root level="info">
<AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Root>
</Loggers>
</Configuration>
我们想通了。我们必须从 Log4J2.xml.
中删除 additivity="false"
因此,文件是without additivity=false
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n"/>
</Console>
<RollingFile name="file" fileName="/local/content/tomcat/idp/logs/idp.log" append="true"
filePattern="/local/content/tomcat/idp/logs/idp.log.%i">
<PatternLayout>
<Pattern>%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="gov" level="debug">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.springframework.orm" level="info">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.hibernate.sql" level="info">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.springframework.web" level="debug">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.hibernate.type" level="info">
<AppenderRef ref="file"/>
</Logger>
<Logger name="net.sf.ehcache" level="trace">
<AppenderRef ref="file"/>
</Logger>
<Root level="info">
<AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Root>
</Loggers>
</Configuration>
我无法配置我的 Web 应用程序项目以在 Eclipse 控制台 中显示 LOG4J2 输出。它会转到某个 tomcat 日志位置。
尝试了所有线程,但没有任何帮助。
首先,假设 LOG4J2.XML 原来在这里:./appconfig/dev/log4j2.xml
我按照示例将此文件夹添加为 Class 路径下的库,但这没有用。
然后我尝试 this example 使用配置文件的 -D 参数,
还尝试将其添加到 DeploymentAssembly 将移动到的位置 WEB-INF/classes,
没有任何帮助,除了 Hibernate-only 输出之外,我没有得到此应用程序的 log.info
/log.error
的 Eclipse 控制台输出。
LOG4J2.XML:
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n"/>
</Console>
<RollingFile name="file" fileName="/local/content/tomcat/idp/logs/idp.log" append="true"
filePattern="/local/content/tomcat/idp/logs/idp.log.%i">
<PatternLayout>
<Pattern>%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="gov" level="debug" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.springframework.orm" level="info" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.hibernate.sql" level="info" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.springframework.web" level="debug" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.hibernate.type" level="info" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Logger name="net.sf.ehcache" level="trace" additivity="false">
<AppenderRef ref="file"/>
</Logger>
<Root level="info">
<AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Root>
</Loggers>
</Configuration>
我们想通了。我们必须从 Log4J2.xml.
中删除additivity="false"
因此,文件是without additivity=false
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n"/>
</Console>
<RollingFile name="file" fileName="/local/content/tomcat/idp/logs/idp.log" append="true"
filePattern="/local/content/tomcat/idp/logs/idp.log.%i">
<PatternLayout>
<Pattern>%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="gov" level="debug">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.springframework.orm" level="info">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.hibernate.sql" level="info">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.springframework.web" level="debug">
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.hibernate.type" level="info">
<AppenderRef ref="file"/>
</Logger>
<Logger name="net.sf.ehcache" level="trace">
<AppenderRef ref="file"/>
</Logger>
<Root level="info">
<AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Root>
</Loggers>
</Configuration>