zoukankan      html  css  js  c++  java
  • logback 中打印自定义参数 (ip 服务名)

    打印 application.properties 配置文件中的参数

    首先需要引入文件

    <property resource="application.properties"/>

    然后在使用

    <springProperty scope="context" name="serverName" source="spring.application.name"/>
    spring.application.name 为 application.properties 文件中的属性

    将ip打印到日志

    首先编写类 IPConverterConfig

    package com.wxx.converter;
    
    import ch.qos.logback.classic.pattern.ClassicConverter;
    import ch.qos.logback.classic.spi.ILoggingEvent;
    
    import java.net.InetAddress;
    import java.net.UnknownHostException;
    
    public class IPConverterConfig extends ClassicConverter {
    
        @Override
        public String convert(ILoggingEvent iLoggingEvent) {
            try {
                return InetAddress.getLocalHost().getHostAddress();
            } catch (UnknownHostException e) {
                e.printStackTrace();
            }
            return null;
        }
    }

    然后在 logback.xml 引用

     logback.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    <!--    引入配置文件,获取服务名-->
        <property resource="application.properties"/>
        <springProperty scope="context" name="serverName" source="spring.application.name"/>
    
        <!--配置规则类的位置-->
        <conversionRule conversionWord="ip" converterClass="com.wxx.converter.IPConverterConfig" />
    
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <!-- encoder的默认实现类是ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
            <encoder>
                <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%ip] [${serverName}] [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
    
        <!--logback输出日志到文件(滚动)RollingFileAppender继承了FileAppender-->
        <appender name="cusmanage" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>../logs/crm/crm.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>../logs/crm/crm.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <timeBasedFileNamingAndTriggeringPolicy
                        class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>5MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <pattern>%-20(%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]) %-5level %logger{80} - %msg%n</pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>INFO</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    
        <root level="DEBUG">
            <appender-ref ref="STDOUT" />
        </root>
        <!--ibatis打印SQL-->
    <!--    <logger name="com.ibatis" level="debug" />-->
    <!--    <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="debug" />-->
    <!--    <logger name="com.ibatis.common.jdbc.ScriptRunner" level="debug" />-->
    <!--    <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="debug" />-->
    <!--    <logger name="java.sql.Connection" level="debug" />-->
    <!--    <logger name="java.sql.Statement" level="debug" />-->
    <!--    <logger name="java.sql.PreparedStatement" level="debug" />-->
    
    </configuration>
  • 相关阅读:
    Spring基础知识
    Hibernate基础知识
    Struts2基础知识
    在eclipse里头用checkstyle检查项目出现 File contains tab characters (this is the first instance)原因
    java后台获取cookie里面值得方法
    ckplayer 中的style.swf 中的 style.xml 中的修改方法
    java hql case when 的用法
    Windows下Mongodb安装及配置
    Mongodb中经常出现的错误(汇总)child process failed, exited with error number
    Mac 安装mongodb
  • 原文地址:https://www.cnblogs.com/SeaWxx/p/13859366.html
Copyright © 2011-2022 走看看