我在类路径中添加了jar apache-log4j-extras-1.1.jar和log4j-1.2.15.jar,在log4j.properties中没有配置。 没有错误,但无法在日志文件中打印。我也提到了stackoverflow的问题,但它对我不起作用。任何有关它的建议将不胜感激。
如果使用rolling.RollingFileAppender,则log4j.properties中是否需要配置
的log4j.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="256"/>
<appender-ref ref="CONSOLE" />
<appender-ref ref="DROLLFILE" />
</appender>
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy/MM/dd HH:mm:ss,SSS} %-5p %c %x - %m %n" />
</layout>
</appender>
<appender name="DROLLFILE" class="org.apache.log4j.rolling.RollingFileAppender" >
<param name="threshold" value="DEBUG"/>
<rollingPolicy name="file"
class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern"
value="/media/mgs1032/57403571-7065-47b8-88cd-1b20a9229764/ezeClick/ezeClickSetUp/PaymentGateWorkSpace/libs/logger/logs/ezeClick.log.%d{yyyy-MM-dd}.gz"/>
<param name="ActiveFileName" value="/media/mgs1032/57403571-7065-47b8-88cd-1b20a9229764/ezeClick/ezeClickSetUp/PaymentGateWorkSpace/libs/logger/logs/ezeClick.log"/>
</rollingPolicy>
<layout class="org.apache.log4j.EnhancedPatternLayout" >
<param name="ConversionPattern"
value="%d{ISO8601} %-5p - %-26.26c{1} - %m%n" />
</layout>
</appender>
<logger name="amex.quickpay" additivity="false">
<level value="debug" />
<appender-ref ref="ASYNC" />
</logger>
<root>
<priority value="info" />
<appender-ref ref="ASYNC" />
</root>
</log4j:configuration>
答案 0 :(得分:0)
你的代码真的没什么问题,但是这对我有用(没有log4.properties)
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="error" monitorInterval="30" strict="true">
<Properties>
<Property name="log-path">${sys:catalina.base}/logs/</Property>
<Property name="filename">appName.log</Property>
</Properties>
<Appenders>
<RollingFile name="RollingFile" fileName="${log-path}/${filename}" filePattern="${log-path}/${filename}-%d{yyyy-MM-dd}-%i.log">
<Layout type="PatternLayout" pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
<Policies>
<OnStartupTriggeringPolicy />
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="5 MB" />
</Policies>
<DefaultRolloverStrategy max="10" />
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="RollingFile" />
</Root>
</Loggers>
</Configuration>
编辑: 注意:这是针对log4j 2