日志可以1 分析项目运行情况, 2为大数据分析提供依据
日志文件配置log4j.xml(名称必须是这个)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration> <!-- 将日志信息输出到控制台 --> <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender"> <!-- 设置日志输出的样式 --> <layout class="org.apache.log4j.PatternLayout"> <!-- 设置日志输出的格式 --> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n" /> </layout> <!--过滤器设置输出的级别--> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <!-- 设置日志输出的最小级别 --> <param name="levelMin" value="TRANCE" /> <!-- 设置日志输出的最大级别 --> <param name="levelMax" value="fatal" /> </filter> </appender> <!-- 系统应用级别日志,日志达到一定大小后,产生新的文件 --> <appender name="fileMaxAppenderAll" class="org.apache.log4j.RollingFileAppender"> <param name="file" value="D:/java/logs/all.sys.log" /> <!--每个文件最大--> <param name="maxFileSize" value="1kb" /> <!--最多有多少个文件--> <param name="maxBackupIndex" value="5" /> <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 --> <param name="append" value="true" /> <layout class="org.apache.log4j.PatternLayout"> <!--<param name="ConversionPattern" value="[%-5p][%d{yyyy-MM-dd HH:mm:ss,SSS}][%c] :%m%n" />--> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n" /> </layout> </appender> <!--输出到文件 所有日志,根据name='DatePattern'设置每隔多久分割成一个新文件 --> <appender name="fileAppenderAll" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="D:/java/logs/daily.sys.log" /> <param name="append" value="true" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy.MM.dd HH:mm:ss SS} %5p [%t] %C{1}.%M(%L) | %m%n" /> </layout> </appender> 注册appender <root> <!--<priority value="all"/>--> <!--<appender-ref ref="ConsoleAppender"/>--> <appender-ref ref="fileAppenderAll"/> </root> </log4j:configuration>
2. 应用
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Test; /** * author wmq * * @date 2020/12/69:52 */ public class LogTest{ // log对象,用来记录日志 private Log log = LogFactory.getLog(LogTest.class); @Test public void log4jTest() { log.debug("debug"); log.warn("warn"); log.error("error"); log.fatal("fatal"); } }