log4j輸出多個日誌文件

不一樣的包路徑,採用不一樣的 appender及日誌文件進行記錄有2種方法html

第一種:java

修改配置文件:mysql

XX.AName爲包名sql

XX.BName爲包名數據庫

log4j.logger.XX.AName=DEBUG,A1
log4j.additivity.XX.AName=false
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.MaxFileSize=5120KB
log4j.appender.A1.MaxBackupIndex=20
log4j.appender.A1.File=${user.dir}/log/A1.log
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} %t%r%5p %c\:%L - %m%n

---------------------------------------------------------------------------------------------------------apache

log4j.logger.XX.BName=DEBUG,A2
log4j.additivity.XX.BName=false
log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.MaxFileSize=5120KB
log4j.appender.A2.MaxBackupIndex=20
log4j.appender.A2.File=${user.dir}/log/A2.log
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} %t%r%5p %c\:%L - %m%n

第二種方法:api

程序控制:緩存

CC爲隨意名稱服務器

log4j.logger.CC=DEBUG,CC1
log4j.additivity.CC=false
log4j.appender.CC1=org.apache.log4j.RollingFileAppender
log4j.appender.CC1.MaxFileSize=5120KB
log4j.appender.CC1.MaxBackupIndex=20
log4j.appender.CC1.File=${user.dir}/log/A1.log
log4j.appender.CC1.layout=org.apache.log4j.PatternLayout
log4j.appender.CC1.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} %t%r%5p %c\:%L - %m%n

 org.apache.commons.logging.Log LOGGER = LogFactory.getLog("CC");session

LOGGER .debug("XXXXX");

附:

#appender名字定義

log4j.rootLogger=INFO,FILE,consoleAppender,RollingFile,MAIL,DailyRollingFile,DATABASE
log4j.addivity.org.apache=true

#配置日誌信息輸出目的地
#log4j.appender.appenderName = fully.qualified.name.of.appender.class
#(如:log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender)
# 1.org.apache.log4j.ConsoleAppender(控制檯)
# 2.org.apache.log4j.FileAppender(文件)
# 3.org.apache.log4j.DailyRollingFileAppender(天天產生一個日誌文件)
# 4.org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件)
# 5.org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方)

#配置日誌信息的格式
#log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
#(如:log4j.appender.RollingFile.layout = org.apache.log4j.HTMLLayout)
# 1.org.apache.log4j.HTMLLayout(以HTML表格形式佈局),
# 2.org.apache.log4j.PatternLayout(能夠靈活地指定佈局模式),
# 3.org.apache.log4j.SimpleLayout(包含日誌信息的級別和信息字符串),
# 4.org.apache.log4j.TTCCLayout(包含日誌產生的時間、線程、類別等等信息)

#日記記錄的優先級:priority,優先級由高到低分爲 
# OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。
# Log4j建議只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG這五個級別。
# ERROR 爲嚴重錯誤 主要是程序的錯誤
# WARN 爲通常警告,好比session丟失
# INFO 爲通常要顯示的信息,好比登陸登出
# DEBUG 爲程序的調試信息


#輸出格式:layout中的參數都以%開始,後面不一樣的參數表明不一樣的格式化信息(參數按字母表順序列出):
# %c 輸出所屬類的全名,可在修改成 %d{Num} ,Num類名輸出的維(如:"org.apache.elathen.ClassName",%C{2}將輸出elathen.ClassName)
# %d 輸出日誌時間其格式爲 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}
# %l 輸出日誌事件發生位置,包括類目名、發生線程,在代碼中的行數
# %n 換行符
# %m 輸出代碼指定信息,如info(「message」),輸出message
# %p 輸出優先級,即 FATAL ,ERROR 等
# %r 輸出從啓動到顯示該log信息所耗費的毫秒數
# %t 輸出產生該日誌事件的線程名


#ConsoleAppender,控制檯輸出
#FileAppender,文件日誌輸出
#SMTPAppender,發郵件輸出日誌
#SocketAppender,Socket日誌
#NTEventLogAppender,Window NT日誌
#SyslogAppender,
#JMSAppender,
#AsyncAppender,
#NullAppender


############################
# 文件輸出:FileAppender 
############################
 
log4j.appender.FILE=org.apache.log4j.FileAppender 
log4j.appender.FILE.File=../logs/file.log 
log4j.appender.FILE.Append=false 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
# Use this layout for LogFactor 5 analysis

############################################
# 滾動文件輸出:RollingFileAppender
############################################
log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender
# 輸出以上的INFO信息 
log4j.appender.RollingFile.Threshold = DEBUG 
#保存log文件路徑 
log4j.appender.RollingFile.File = ../logs/chenya.html 
#默認爲true,添加到末尾,false在每次啓動時進行覆蓋 
log4j.appender.RollingFile.Append = true 
#一個log文件的大小,KB、MB、GB表示. 在日誌文件到達該大小時,將會自動滾動,即將原來的內容移到chenya.html.1文件。
log4j.appender.RollingFile.MaxFileSize = 1MB 
#最多保存3個滾動文件備份(chenya.html.一、chenya.html.二、chenya.html.3)
log4j.appender.RollingFile.MaxBackupIndex = 3 
#輸出文件的格式 
log4j.appender.RollingFile.layout = org.apache.log4j.HTMLLayout 
#是否顯示類名和行數
log4j.appender.RollingFile.layout.LocationInfo = true 
#html頁面的 < title > 
log4j.appender.RollingFile.layout.Title =title:\u63d0\u9192\u60a8\uff1a\u7cfb\u7edf\u53d1\u751f\u4e86\u4e25\u91cd\u9519\u8bef 
############################## SampleLayout ####################################
# log4j.appender.RollingFile.layout = org.apache.log4j.SampleLayout
############################## PatternLayout ###################################
# log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout
# log4j.appender.RollingFile.layout.ConversionPattern =% d % p [ % c] - % m % n % d
############################## XMLLayout #######################################
# log4j.appender.RollingFile.layout = org.apache.log4j.XMLLayout
# log4j.appender.RollingFile.layout.LocationInfo = true #是否顯示類名和行數
############################## TTCCLayout ######################################
# log4j.appender.RollingFile.layout = org.apache.log4j.TTCCLayout
# log4j.appender.RollingFile.layout.DateFormat = ISO8601
#NULL, RELATIVE, ABSOLUTE, DATE or ISO8601.
# log4j.appender.RollingFile.layout.TimeZoneID = GMT - 8 : 00 
# log4j.appender.RollingFile.layout.CategoryPrefixing = false ##默認爲true 打印類別名
# log4j.appender.RollingFile.layout.ContextPrinting = false ##默認爲true 打印上下文信息
# log4j.appender.RollingFile.layout.ThreadPrinting = false ##默認爲true 打印線程名
# 打印信息以下:
#2007 - 09 - 13 14 : 45 : 39 , 765 [http - 8080 - 1 ] ERROR com.poxool.test.test - error成功關閉連接
###############################################################################


############################################
# 天天文件的輸出:DailyRollingFileAppender
############################################
log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.DailyRollingFile.Threshold = DEBUG
log4j.appender.DailyRollingFile.File = ../logs/cheny.log
log4j.appender.DailyRollingFile.Append = true 
#默認爲true,添加到末尾,false在每次啓動時進行覆蓋
log4j.appender.DailyRollingFile.ImmediateFlush = true 
#直接輸出,不進行緩存
# ' . ' yyyy - MM: 每月更新一個log日誌
# ' . ' yyyy - ww: 每一個星期更新一個log日誌
# ' . ' yyyy - MM - dd: 天天更新一個log日誌
# ' . ' yyyy - MM - dd - a: 天天的午夜和正午更新一個log日誌
# ' . ' yyyy - MM - dd - HH: 每小時更新一個log日誌
# ' . ' yyyy - MM - dd - HH - mm: 每分鐘更新一個log日誌
log4j.appender.DailyRollingFile.DatePattern = ' . ' yyyy - MM - dd ' .log ' 
#文件名稱的格式
log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.DailyRollingFile.layout.ConversionPattern =%d %p [ %c] - %m %n %d

##############################
# 控制檯輸出:ConsoleAppender
##############################

log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.Threshold = DEBUG
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern =%d %-5p %m %n
log4j.appender.consoleAppender.ImmediateFlush = true
# 直接輸出,不進行緩存 
log4j.appender.consoleAppender.Target = System.err 
# 默認是System.out方式輸出

########################
# 發送郵件:SMTPAppender
########################

# log4j的郵件發送appender,若是有必要你能夠寫本身的appender
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
#設置發送郵件的門檻,僅當等於或高於ERROR(好比FATAL)時,郵件才被髮送
log4j.appender.MAIL.Threshold=DEBUG
#郵件緩衝區大小 日誌達到10K時發送Email
log4j.appender.MAIL.BufferSize=10
#發送郵件的郵箱賬號
log4j.appender.MAIL.From=mail@163.com
#SMTP郵件發送服務器地址
log4j.appender.MAIL.SMTPHost=smtp.163.com
#SMTP發送認證的賬號名
log4j.appender.MAIL.SMTPUsername=mail@163.com
#SMTP發送認證賬號的密碼
log4j.appender.MAIL.SMTPPassword=password
#是否打印調試信息,若是選true,則會輸出和SMTP之間的握手等詳細信息
log4j.appender.MAIL.SMTPDebug=true
#郵件主題
log4j.appender.MAIL.Subject= 警告 log4J Message
#發送到什麼郵箱,若是要發送給多個郵箱,則用逗號分隔;
#若是須要bcc給某人,則加入下列行:
log4j.appender.MAIL.Bcc=mail@163.com
log4j.appender.MAIL.To=mail@163.com
#設置輸出樣式和內容
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern =%d - %c -%-4r [%t] %-5p %c %x - %m %n

######################
#數據庫:JDBCAppender
######################
log4j.appender.DATABASE.Threshold = ERROR
log4j.appender.DATABASE = org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL = jdbc:mysql://localhost:3306/db_oa
log4j.appender.DATABASE.driver = com.mysql.jdbc.Driver
log4j.appender.DATABASE.user = root
log4j.appender.DATABASE.password = 123456
#log4j.appender.DATABASE.sql = INSERT INTO tb_log(text) VALUES( ' %d - %c %-5p %c %x - %m%n ' )
log4j.appender.DATABASE.sql = INSERT INTO tb_log(text) VALUES('%d,%-5p,%C,%L,%x') 
log4j.appender.DATABASE.layout = org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern =% d - % c -%- 4r [ % t] %- 5p % c % x - % m % n
#數據庫的連接會有問題,能夠重寫org.apache.log4j.jdbc.JDBCAppender的getConnection() 使用數據庫連接池去得連接,能夠避免insert一條就連接一次數據庫
#log4j官方建議把其提供的JDBCAppender做爲基類來使用,而後Override三個父類的方法:getConnection(),closeConnection(Connection con)和getLogStatement(LoggingEvent event)。
#原來如此,那就寫一個子類JDBCPoolAppender來替代這個JDBCAppender

#################### 
# Socket Appender 
####################
 
#log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender 
#log4j.appender.SOCKET.RemoteHost=localhost 
#log4j.appender.SOCKET.Port=5001 
#log4j.appender.SOCKET.LocationInfo=true 
# Set up for Log Facter 5 
#log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout 
#log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n

 

level指大於該級別的日誌才顯示, error>warn>info>debug
threshold起過濾做用,即低於過濾條件的日誌不顯示


---------------------------------------------------------------------------------------

my

log4j.logger.com.tuan.partner.service.api=info,apiFile

log4j.appender.apiFile=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.apiFile.Append=true#log4j.appender.apiFile.File=c:/partner-api.loglog4j.appender.apiFile.File=/data/application/logs/partner/api/partner-api.loglog4j.appender.apiFile.ImmediateFlush=truelog4j.appender.apiFile.layout = org.apache.log4j.PatternLayoutlog4j.appender.apiFile.DatePattern  = '_'yyyy-MM-dd-HH'.log'log4j.appender.apiFile.layout.ConversionPattern = %d{yyyy-MM-dd HH\:mm\:ss} [%t] %-5p (%c\:%L) - %m%n

相關文章
相關標籤/搜索