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>

浙公网安备 33010602011771号