zoukankan      html  css  js  c++  java
  • logback.xml自定义标签实现(机器名+端口)

    需求:

      由于大部分服务部署在多台机器上,当服务器资源不足时,存在1台服务器上部署多个相同的服务,为了区分日志,在日志生成的日志文件中添加机器名称和端口号(也支持用命令启动时添加端口),具体实现示例如下:

    步骤1:端口设置application.properties中,字段名称为“server.port”

    server.port=8086
    

      

    步骤2:在logback.xml中添加 <springProperty scope="context" name="port" source="server.port"/>  ,其中name为名称,下面配置中使用,source是application.properties配置的字段名称

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
     	<springProperty scope="context" name="port" source="server.port"/>    
        <!--应用名-->
        <property name="APP_NAME" value="xx服务名称" />
        <!--日志根目录-->
        <property name="LOG_HOME" value="/applog" />
     	<!--日志通用输出格式-->
        <property name="SERIOUS_PATTERN_COMMON" value="[%X{X-B3-TraceId}] [%X{clientIp}] %d{yyyy-MM-dd} %d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n"/><!-- %X{ip} -->
        <!--业务摘要 日志-->
        <appender name="appDigest" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>INFO</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY </onMismatch>
            </filter>
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <FileNamePattern>${LOG_HOME}/${APP_NAME}/${APP_NAME}-${HOSTNAME}-${port}-digest.%d{yyyy-MM-dd}-%i.log</FileNamePattern>
                <maxHistory>30</maxHistory>
                <!-- 触发策略,达到一定条件时将通知appender,触发滚动 -->
                <maxFileSize>500MB</maxFileSize>
            </rollingPolicy>
            <encoder>
                <Pattern>
                    <!--时间,日志级别, traceid, [(业务类型)(接口名称 方法,接口版本号, 处理结果,耗时)(结果码)(请 求参数列表)]-->
                    %d{yyyy-MM-dd} %d{HH:mm:ss.SSS},%-5level,%X{X-B3-TraceId},[%X{bizType},%X{interfaceName},%X{version},%X{result},%X{cost},%X{resultCode},%msg] %n
                </Pattern>
            </encoder>
        </appender>
    ......

     步骤3.启动项目在日志存放目录下即可看到日志文件

    项目名称-机器名-端口.2022-01-08-0.log

      

  • 相关阅读:
    对Cost (%CPU) 粗略的理解
    SQL AND &amp; OR 运算符
    [Nagios] Error: Template &#39;timman&#39; specified in contact definition could not be not found (c
    质因数分解
    细数人体器官仿生,还有哪些可开发的
    利用京东云擎架设免费Wordpress 博客(git方式)
    C++内存管理变革(6):通用型垃圾回收器
    二分查找法
    百度云存储教程---免费建立自己的静态网站
    paip.提升效率---filter map reduce 的java 函数式编程实现
  • 原文地址:https://www.cnblogs.com/qqq9527/p/15778322.html
Copyright © 2011-2022 走看看