一、如何将log输出到文件中?
1、配置xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <Configuration> 3 <!-- 将log信息记录到指定文件夹中 --> 4 <!-- “.”表示当前路径, ./logs表示将log信息存放到该项目的logs文件夹中 --> 5 <Properties> 6 <Property name="basePath">./logs</Property> 7 </Properties> 8 <!-- appenders表示日志输出的位置 --> 9 <Appenders> 10 <!-- 给记录日志的文件命名 --> 11 <RollingFile 12 name="File" 13 fileName="${basePath}/app.log" 14 filePattern="${basePath}/app-%d{yyyy-MM-dd}.log"> 15 <!-- 设置输出的log信息格式 --> 16 <PatternLayout 17 pattern="%d{HH:mm:ss.SSS} %-5level %c{2} -%msg%n" /> 18 <Policies> 19 <!-- 基于时间触发生成文件的策略 --> 20 <!-- interval="1"表示每隔一天就会创建新的日志文件 --> 21 <TimeBasedTriggeringPolicy 22 interval="1" 23 modulate="true" /> 24 <!-- 基于大小触发生成文件的策略 --> 25 <SizeBasedTriggeringPolicy size="100 KB" /> 26 </Policies> 27 </RollingFile> 28 <!-- 表示在控制台上输出信息 --> 29 <Console name="Console"> 30 <!-- 设置输出的log信息格式 --> 31 <PatternLayout 32 pattern="%d{HH:mm:ss.SSS} %-5level %c{2} -%msg%n" /> 33 </Console> 34 </Appenders> 35 <Loggers> 36 <!-- 定义级别 --> 37 <Root level="trace"> 38 <!-- 输出日志的目的地 --> 39 <AppenderRef ref="File" /> 40 </Root> 41 </Loggers> 42 </Configuration>
注:
1、<RollingFile name="File" fileName="${basePath}/app.log" filePattern="${basePath}/app-%d{yyyy-MM-dd}.log">:
fileName="${basePath}/app.log":表示日志信息文件存放的路径和文件名
filePattern="${basePath}/app-%d{yyyy-MM-dd}.log":设置日志文件从第二天开始,生成的文件名后面都加上年月日,这样有助于我们区分日志的生成时间。
2、log文件中设置了2中输出方式,一种是直接输出到控制台,一种是输出到文件中,本文案例是为了演示输出到文件中,因此
<AppenderRef ref="File" /> ref要设置为File。
2、运行代码
1 package log4jtutorial; 2 3 import org.apache.logging.log4j.LogManager; 4 import org.apache.logging.log4j.Logger; 5 6 public class LoggingFile { 7 8 private static final Logger log = LogManager.getLogger(LoggingFile.class.getName()); 9 public static void main(String[] args) { 10 11 log.debug("Debug message logged"); 12 log.error("Error message logged"); 13 log.fatal("Fatal message logged"); 14 } 15 }
3、查看生成的日志信息
如果有不明白的小伙伴可以加群“555191854”问我,群里都是软件行业的小伙伴相互一起学习。
内容具有连惯性,未标注的地方可以看前面的博客,这是一整套关于ava+selenium自动化的内容,从java基础开始。
欢迎关注,转载请注明来源。