【JavaWeb】Log4j2的使用(二)
将日志保存到文件
- 添加日志输出目的地(Appender:附加器)
在Appender节点下添加:
    <File name="logfile" fileName="C:/Users/Administrator/Desktop/my.log">  
            <PatternLayout pattern="%d{HH:mm:ss} %level : %msg   %l%n" />  
    </File>其中”name”为目的地名称,”fileName”为输出的文件名
- 在Loggers节点下添加:
    <Logger name="mylog" level="info" additivity="false">
            <AppenderRef ref="logfile" />
    </Logger其中”name”为目的地名称,”level”为日志等级,”additivity”为是否继承父级的目的地,默认是true。如果设为false则只会在自己的目的地输出,这里设为false。
关于additivity的举例:
Appender下有两个输出源,一个是控制台,一个是文件,如下:
        <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss} %level : %msg   %l%n" />
        </Console>
        <File name="logfile" fileName="C:/Users/Administrator/Desktop/my.log">  
            <PatternLayout pattern="%d{HH:mm:ss} %level : %msg   %l%n" />  
        </File>  
        </Appenders>Loggers下有两个日志,mylog(自定义的)和Root(根日志)
    <Loggers>
        <Logger name="mylog" level="info" additivity="false">
            <AppenderRef ref="logfile" />
        </Logger>
        <Root level="info">
            <AppenderRef ref="Console" />
        </Root>
    </Loggers>additivity=true时,控制台输出如下

additivity=false时,因为只会在自己的输出源输出,也就是只会输出到文件,所以控制台不会输出,只有跟日志Root的输出。控制输出如下:
    哈哈日志文件输出如下
    21:10:58 INFO : 信息   log4j.Main.main(Main.java:10)
    21:10:58 WARN : 警告   log4j.Main.main(Main.java:11)
    21:10:58 ERROR : 错误   log4j.Main.main(Main.java:12)
    网络上志同道合,我们一起学习网络安全,一起进步,QQ群:694839022
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号