1.有时候需要用log4记录某些指定日志到指定文件中以便于分析
log4j.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?> <!-- status=debug 可以查看log4j的装配过程 --> <configuration status="off" monitorInterval="1800"> <properties> <property name="LOG_HOME">/data/wxApplogs</property> <!-- 日志备份目录 --> <property name="BACKUP_HOME">{LOG_HOME}/backup</property> <property name="STAT_NAME">resources-app</property> <!-- 服务模块名 --> <property name="SERVER_NAME">resources-app</property> <!-- 日志输出的项目名 --> <property name="PROJECT_NAME">resources-app</property> </properties> <appenders> <!-- 定义控制台输出 --> <Console name="Console" target="SYSTEM_OUT" follow="true"> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [${PROJECT_NAME}] [%thread][%file:%line] - %msg%n" /> </Console> <!-- 程序员调试日志 --> <RollingRandomAccessFile name="DevLog" fileName="${LOG_HOME}/${STAT_NAME}/${SERVER_NAME}" filePattern="${LOG_HOME}/${SERVER_NAME}.%d{yyyy-MM-dd-HH}.log"> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [${PROJECT_NAME}] [%thread][%file:%line] - %msg%n" /> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true" /> </Policies> </RollingRandomAccessFile> <RollingRandomAccessFile name="FileName" fileName="${LOG_HOME}/${STAT_NAME}/${SERVER_NAME}_${STAT_NAME}_RedisErrorLog" filePattern="${LOG_HOME}/${SERVER_NAME}_${STAT_NAME}.%d{yyyy-MM-dd-HH}.log"> <MarkerFilter marker="REDISMARKER" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" /> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true" /> </Policies> </RollingRandomAccessFile> </appenders> <loggers> <!-- 3rdparty Loggers --> <logger name="org.springframework.core" level="info"> </logger> <logger name="org.springframework.beans" level="info"> </logger> <logger name="org.springframework.context" level="info"> </logger> <logger name="org.springframework.web" level="info"> </logger> </logger> <!-- Root Logger --> <root level="DEBUG"> <appender-ref ref="DevLog" /> <appender-ref ref="Console" /> <appender-ref ref="FileName" /> </root> </loggers> </configuration>
Java代码如下:/** * 指定文件存储日志 */ private Logger logSpcifyFile = LogManager.getLogger("FileName");//指定xml中定义的文件名logSpcifyFile.info("指定日志");就这样简单解决!!!