zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    算法与数据结构实验题 5.2 Missile
    算法与数据结构实验题 2.3 击鼓传花
    算法与数据结构实验题 2.4 排队
    Linux 添加自定义命令
    转 32位linux内核2.6.38.2添加系统调用,编写类似"ps"命令模块显示进程信息
    Linux内核模块程序加载方法
    Linux下sched.h文件分析
    Kali 爆破和非爆破无线路由账号和密码+让别人无线掉线
    Kali基于路由器的ARP欺骗转发机制
    Kali nmap教程用法简介
  • 原文地址:https://www.cnblogs.com/libin6505/p/14963244.html
Copyright © 2011-2022 走看看