• 【JavaWeb】Log4j2的使用(一)


    Log4j2下载

    下载地址:http://logging.apache.org/log4j/2.x/download.html

    java项目使用Log4j2


    1. 导入log4j-core-2.10.0.jar和log4j-api-2.10.0.jar

    2.新建log4j2.xml配置文件

        <?xml version="1.0" encoding="UTF-8"?>
        <Configuration status="WARN">
            <Appenders>
                <Console name="Console" target="SYSTEM_OUT">
                    <PatternLayout pattern="%d{HH:mm:ss} %level : %msg   %l%n" />
                </Console>
            </Appenders>
            <Loggers>
                <Logger name="mylog" level="info" additivity="false">
                    <AppenderRef ref="Console" />
                </Logger>
                <Root level="info">
                    <AppenderRef ref="Console" />
                </Root>
            </Loggers>
        </Configuration>

    以Configuration为根节点,有一个status属性,这个属性表示log4j2本身的日志信息打印级别。

    如果把status改为TRACE再执行测试代码,可以看到控制台中打印了一些log4j加载插件、组装logger等调试信息。

    日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出。对于Loggers中level的定义同样适用。

    下面是Appender配置,Appender可以理解为日志的输出目的地,这里配置了一个类型为Console的Appender,也就是输出到控制台。Console节点中的PatternLayout定义了输出日志时的格式:

    %d{HH:mm:ss.SSS} 表示输出到毫秒的时间

    %t 输出当前线程名称

    %-5level 输出日志级别,-5表示左对齐并且固定输出5个字符,如果不足在右边补0

    %logger 输出logger名称,因为Root Logger没有名称,所以没有输出

    %msg 日志文本

    %n 换行

    其他常用的占位符有:

    %F 输出所在的类文件名,如Client.java

    %L 输出行号

    %M 输出所在方法名

    %l 输出语句所在的行数, 包括类名、方法名、文件名、行数

    一般设置为:

        pattern="%d{HH:mm:ss} %level : %msg   %l%n"

    即可

    3.测试

    public class Main {
            static Logger logger = LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);
    
            public static void main(String[] args) {
                logger.info("信息");
                logger.warn("警告");
                logger.error("错误");
            }
        }

    输出:

        13:47:13 INFO : 信息   log4j.Main.main(Main.java:9)
        13:47:13 ERROR : 错误   log4j.Main.main(Main.java:11)
        13:47:13 WARN : 警告   log4j.Main.main(Main.java:12)

    web项目下使用Log4j2

    1.导入log4j-core-2.10.0.jar和log4j-api-2.10.0.jar

    2.新建log4j2.xml与java项目中一样

    3.web.xml下添加

    <context-param>  
            <param-name>log4jConfiguration</param-name>  
            <param-value>/WEB-INF/conf/log4j2.xml</param-value>  
        </context-param>  
    
        <listener>  
            <listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>  
        </listener>  

    (好像webapp3.0不加也可以,测试中并没有在web.xml下加入这段话,运行也没问题)

    (详细讲解:http://blog.csdn.net/autfish/article/details/51203709)

  • 相关阅读:
    前端面试题总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)
    steps 步骤条、时间轴
    碰撞检测经典解决方案
    延迟渲染(Deferred Shading)技术详解
    配备透明触摸屏 看3D全息投影概念手机
    预渲染技术
    APK改之理(APK IDE)修改APK简单的入门教程
    如何获取显卡的GPU占用率和显存占用情况
    图像编辑之对比度调整 亮度对比度的算法公式
    别被你的双眼所欺骗 100张神奇的视觉欺骗图
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286749.html
Copyright © 2020-2023  润新知