• Java编程基础:配置log4j2.xml同时输出日志到文件和控制台


    转:

    Java编程基础:配置log4j2.xml同时输出日志到文件和控制台

    开发Java服务程序记日志是很关键的。一旦服务发布部署在云上,出了问题没有日志根本没法定位。

    现在比较流行是用Spring Boot搭建微服务框架,搭配log4j2输出日志。输出到标准输出的日志可以通过kabana收集和查看,同时程序员也希望能有文件记录完整的日志信息。

    下面给一份log4j2的xml配置样例,支持日志同时输出到标准输出和文件。

    <?xml version="1.0" encoding="UTF-8"?>  
    <Configuration status="info">  
        <Appenders>  
            <Console name="Console" target="SYSTEM_OUT" follow="true">  
                <PatternLayout>  
                    <pattern>%5p [%t] %d{yyyy-MM-dd HH:mm:ss} %m%n</pattern>  
                </PatternLayout>  
            </Console>  
            <RollingFile name="datasource" immediateFlush="true"
                fileName="log/datasource/datasource.log" filePattern="log/datasource/datasource - %d{yyyy-MM-dd HH_mm_ss}.log.gz">
                <PatternLayout>
                    <pattern>%5p [%t] %d{yyyy-MM-dd HH:mm:ss} %m%n</pattern>
                </PatternLayout>
                <Policies>
                    <SizeBasedTriggeringPolicy size="20MB" />
                </Policies>
            </RollingFile>
            <RollingFile name="framework" immediateFlush="true"
                fileName="log/framework/framework.log" filePattern="log/framework/framework - %d{yyyy-MM-dd HH_mm_ss}.log.gz">
                <PatternLayout>
                    <pattern>%5p [%t] %d{yyyy-MM-dd HH:mm:ss} %m%n</pattern>
                </PatternLayout>
                <Policies>
                    <SizeBasedTriggeringPolicy size="20MB" />
                </Policies>
            </RollingFile>
        </Appenders>  
        <Loggers>  
            <logger name="org.springframework" level="INFO" additivity="true">
                <AppenderRef ref="framework" />
            </logger>
            <logger name="com.elon.dds" level="INFO" additivity="true">
                <AppenderRef ref="datasource" />
            </logger>
            <Root level="info">  
                <AppenderRef ref="Console" />  
            </Root>  
        </Loggers>  
    </Configuration>  

    通过Appenders定义Spring框架和业务模块的日志输出到不同的文件。在Loggers中指定不同包的日志输出到不同文件,Root指定日志输出到标准输出。

    注意Logger配置的additivity=“true”,表示日志信息除了在当前logger输出外还会在Root的Logger输出。这样就实现了同时在文件和控制台输出的目的
    ————————————————
    版权声明:本文为CSDN博主「Elon.Yang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/ylforever/article/details/80984613

  • 相关阅读:
    PetaLinux 生成 Zynq 操作系统
    单片机、微控制器和微处理器有什么区别
    嵌入式基础概念系列(1) —— GPIO
    学中杂记
    Spring学习笔记
    jdbc一点小笔记
    JSP学习
    Servlet学习的一些笔记
    接触Struts2的ModelDriven<>接口
    android-dialog的位置
  • 原文地址:https://www.cnblogs.com/libin6505/p/14963244.html
Copyright © 2020-2023  润新知