我在部署在Websphere 8.5.5上的webapp上使用log4j2。应用程序在其中一个websphere实例上记录日志文件,而在另一个实例上,日志文件中没有记录任何内容。日志文件在应用程序启动时创建,但仍为空。这是我的log4j2.xml
<Configuration name="productapp">
<Properties>
<Property name="filename">c:/logs/productapp.log</Property>
</Properties>
<Filter type="ThresholdFilter" level="trace" />
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%m MDC%X%n"/>
</Console>
<RollingRandomAccessFile name="RollingRandomAccessFile" fileName="${filename}" filePattern="c:/logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="250 MB"/>
</Policies>
</RollingRandomAccessFile>
</Appenders>
<Loggers>
<Logger name="au.com.test.productdata" level="debug" additivity="false">
<AppenderRef ref="STDOUT" />
</Logger>
<Logger name="au.com.test.productdata" level="debug" additivity="false">
<AppenderRef ref="RollingRandomAccessFile" />
</Logger>
<Logger name="org.glassfish.jersey" level="WARN" additivity="false">
<AppenderRef ref="RollingRandomAccessFile" />
</Logger>
<Root level="debug">
<AppenderRef ref="RollingRandomAccessFile" />
</Root>
</Loggers>
</Configuration>
SystemOut日志中没有错误。可能出现什么问题?
答案 0 :(得分:1)
试试fileName="${sys:filename}"
。
答案 1 :(得分:0)
可能不是你遇到的问题,但我最近遇到了相同的症状(创建了日志文件,但没有写入任何内容)。在我的情况下,所有内容都写入了stdout,我无法做任何改变。
我相信我的是由log4j2中的一个错误引起的,我在不中在我的类路径中有一个log4j2.xml文件,而只是通过log4j.configurationFile
外部文件定义它。在我的类路径中添加一个伪造的log4j2.xml为我解决了这个问题。但是,这可能对你不起作用,因为听起来你有两个相同的webapp实例,其中一个工作,一个没有,但我想我会在这里记录那些遇到同样问题的人
我还创建了一张票with log4j2,其中详细描述了我观察到的问题。