mysql、log4j、logback配置文件

log4j

捡能用的用

### 配置根 ###
#log4j.rootLogger = debug,console ,fileAppender,dailyRollingFile,ROLLING_FILE,MAIL,DATABASE
log4j.rootLogger = debug,console ,fileAppender,dailyRollingFile,ROLLING_FILE
 
### 设置输出sql的级别,其中logger后面的内容全部为jar包中所包含的包名 ###
log4j.logger.org.apache=dubug
log4j.logger.java.sql.Connection=dubug
log4j.logger.java.sql.Statement=dubug
log4j.logger.java.sql.PreparedStatement=dubug
log4j.logger.java.sql.ResultSet=dubug
 
### 配置输出到控制台 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n
 
### 配置输出到文件 ###
log4j.appender.fileAppender = org.apache.log4j.FileAppender
log4j.appender.fileAppender.File = ./logs/log.log
log4j.appender.fileAppender.Append = true
log4j.appender.fileAppender.Threshold = DEBUG
log4j.appender.fileAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.fileAppender.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
 
### 配置输出到文件,并且每天都创建一个文件 ###
log4j.appender.dailyRollingFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyRollingFile.File =./ logs/log.log
log4j.appender.dailyRollingFile.Append = true
log4j.appender.dailyRollingFile.Threshold = DEBUG
log4j.appender.dailyRollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.dailyRollingFile.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
 
## 配置输出到文件,且大小到达指定尺寸的时候产生一个新的文件 ###
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLING_FILE.Threshold=ERROR
log4j.appender.ROLLING_FILE.File=./logs/rolling.log
log4j.appender.ROLLING_FILE.Append=true
log4j.appender.ROLLING_FILE.MaxFileSize=10KB
log4j.appender.ROLLING_FILE.MaxBackupIndex=1
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
 
### 配置输出到邮件 ###
#log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
#log4j.appender.MAIL.Threshold=FATAL
#log4j.appender.MAIL.BufferSize=10
#log4j.appender.MAIL.From=chenyl@yeqiangwei.com
#log4j.appender.MAIL.SMTPHost=mail.hollycrm.com
#log4j.appender.MAIL.Subject=Log4J Message
#log4j.appender.MAIL.To=chenyl@yeqiangwei.com
#log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
#log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
 
### 配置输出到数据库 ###
#log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
#log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
#log4j.appender.DATABASE.user=root
#log4j.appender.DATABASE.password=
#log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
#log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
#log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.A1.File=SampleMessages.log4j
#log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'
#log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout

mysql

jdbc.driver=com.alibaba.druid.pool.DruidDataSource/com.mysql.cj.jdbc.Driver  --驱动类
jdbc.url=jdbc:mysql://ip地址:端口号/操作库?useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
jdbc.username=root  --用户名
jdbc.password=123456  --密码

logback

<?xml version="1.0" encoding="UTF-8"?>
<!--scan="true" 当发生变化 自动重载文件-->
<!--scanPeriod="1000" 自动重载文件时间间隔-->
<!--debug="true" 打印出logback内部日志信息-->
<configuration debug="false">
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
    <property name="LOG_SYSTEM" value="/Users/jinxingguang/copproject/music-scala/logcollector/logs/system"/>
    <property name="LOG_COMMON" value="/Users/jinxingguang/copproject/music-scala/logcollector/logs/common"/>
    <property name="LOG_USERPLAYSONG"
              value="/Users/jinxingguang/copproject/music-scala/logcollector/logs/userplaysong"/>
    <!--linux与window的目录-->
    <if condition='"${HOME}".contains("/")'>
        <then>
            <property name="log_dir" value="${HOME}"/>
        </then>
        <else>
            <property name="log_dir" value="${HOMEPATH}"/>
        </else>
    </if>

    <!--ConsoleAppender的作用是将日志输出到控制台-->
    <!--FileAppender的作用是将日志写到文件中-->
    <!--RollingFileAppender的作用是滚动记录文件,先将日志记录到指定文件,当符合某个条件时再将日志记录到其他文件-->

    <!-- %m输出的信息, %p日志级别, %t线程名, %d日期, %c类的全名, %i索引 -->
    <!-- appender是configuration的子节点,是负责写日志的组件 -->

    <!-- 控制台输出 -->
    <!-- ConsoleAppender把日志输出到控制台 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符-->
            <pattern>%msg%n</pattern>
            <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>-->
            <!-- 控制台也要使用utf-8,不要使用gbk -->
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${LOG_COMMON}/logs/123.log</file>
        <append>true</append> <!-- true为追加,false为清空文件 -->
        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <!--RollingFileAppender-->
    <!--TimeBasedRollingPolicy-->
    <!--SizeAndTimeBasedRollingPolicy-->
    <!--SizeBasedTriggeringPolicy-->
    <appender name="logfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_COMMON}/logs/xxx/xxx.log</File>
        <encoder>
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%date %level [%thread] %logger{0} [%file:%line] %msg%n</pattern>
            <charset>utf-8</charset>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_COMMON}/appLogs/xxx/xxx_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!--日志文件保留天数-->
            <maxHistory>5</maxHistory>
            <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!--日志文件最大的大小-->
                <maxFileSize>512MB</maxFileSize>
            </TimeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>

    <!-- 按照每天生成系统日志文件 -->
    <appender name="SYSTEM_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <FileNamePattern>${LOG_SYSTEM}/system_%d{yyyy-MM-dd}_%i.log</FileNamePattern>
            <MaxHistory>15</MaxHistory>
            <maxFileSize>256MB</maxFileSize>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %c - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!--进行一次过滤-->
        <!--<filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>WARN</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>-->
        <!--<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>-->
    </appender>

    <!-- RollingFileAppender:滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 -->
    <!-- 1.先按日期存日志,日期变了,将前一天的日志文件名重命名为xxx%日期%索引,新的日志仍然是xxx.log -->
    <!-- 2.如果日期没有变化,但是当前日志文件的大小超过 256M 时,对当前日志进行分割 重名名 -->
    <!-- 按照每天生成通用日志文件,单个文件超过256M则拆分 -->
    <appender name="COMMON_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 活动文件的名字会根据fileNamePattern的值,每隔一段时间改变一次 -->
            <FileNamePattern>${LOG_COMMON}/log_%d{yyyy-MM-dd}_%i.log</FileNamePattern>
            <!-- 每产生一个日志文件,该日志文件的保存期限为15天 -->
            <MaxHistory>15</MaxHistory>
            <!-- maxFileSize:这是活动文件的大小,默认值是10MB,这里设置256M -->
            <maxFileSize>256MB</maxFileSize>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!-- pattern节点,用来设置日志的输入格式 -->
            <pattern>%msg%n</pattern>
            <!-- 记录日志的编码 -->
            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
        </encoder>
    </appender>

    <appender name="USERPLAYSONGLOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 活动文件的名字会根据fileNamePattern的值,每隔一段时间改变一次 -->
            <FileNamePattern>${LOG_USERPLAYSONG}/log_%d{yyyy-MM-dd}_%i.log</FileNamePattern>
            <!-- 每产生一个日志文件,该日志文件的保存期限为15天 -->
            <MaxHistory>15</MaxHistory>
            <!-- maxFileSize:这是活动文件的大小,默认值是10MB,这里设置256M -->
            <maxFileSize>256MB</maxFileSize>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!-- pattern节点,用来设置日志的输入格式 -->
            <pattern>%msg%n</pattern>
            <!-- 记录日志的编码 -->
            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
        </encoder>
    </appender>

    <!-- 异步输出 -->
    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
        <discardingThreshold>0</discardingThreshold>
        <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
        <queueSize>256</queueSize>
        <!-- 添加附加的appender,最多只能添加一个 -->
        <appender-ref ref="COMMON_FILE"/>
    </appender>

    <!-- 控制台日志输出级别 -->
    <!-- 日志输出级别 -->
    <!--根logger,只有一个level属性,因为它的name就是ROOT-->
    <root level="DEBUG">
        <!-- 启动name为“STDOUT”的日志级别,默认可以配置多个 -->
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="SYSTEM_FILE"/>
    </root>

    <!-- 用来设置某一个包或者具体某一个类的日志打印级别、以及指定<appender> -->
    <!-- 指定项目中某个包,当有日志操作行为时的日志记录级别 -->
    <!-- 级别依次为【从高到低】:FATAL > ERROR > WARN > INFO > DEBUG > TRACE  ,additivity设为false,则子Logger只会在自己的appender里输出-->
    <!--additivity:是否向上级logger传递打印信息,默认为true-->
<!--    <logger name="com.chauncy.userlogcollector.service.impl.CommonLogServiceImpl" level="DEBUG" additivity="false">-->
<!--        <appender-ref ref="STDOUT"/>-->
<!--        <appender-ref ref="COMMON_FILE"/>-->
<!--    </logger>-->

<!--    <logger name="com.chauncy.userlogcollector.service.impl.UserPlaySongLogServiceImpl" level="DEBUG" additivity="false">-->
<!--        <appender-ref ref="STDOUT"/>-->
<!--        <appender-ref ref="USERPLAYSONGLOG_FILE"/>-->
<!--    </logger>-->

</configuration>


posted @ 2022-08-09 16:16  优质水  阅读(118)  评论(0)    收藏  举报