詳解關(guān)于tomcat切割catalina.out日志的三種方式
1.log4j進(jìn)行日志切分
1)準(zhǔn)備三個(gè)包:log4j-1.2.17.jar tomcat-juli.jar tomcat-juli-adapters.jar 放到tomcat的lib目錄或者是工程的WEB_INF/lib下,
2)在lib目錄下新建log4j.properties,加入以下內(nèi)容
log4j.rootLogger = INFO, CATALINA # Define all the appenders log4j.appender.CATALINA = org.apache.log4j.DailyRollingFileAppender log4j.appender.CATALINA.File = ${catalina.base}/logs/catalina log4j.appender.CATALINA.Append = true log4j.appender.CATALINA.Encoding = UTF-8 # Roll-over the log once per day log4j.appender.CATALINA.DatePattern = '.'yyyy-MM-dd'.log' log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.LOCALHOST = org.apache.log4j.DailyRollingFileAppender log4j.appender.LOCALHOST.File = ${catalina.base}/logs/localhost log4j.appender.LOCALHOST.Append = true log4j.appender.LOCALHOST.Encoding = UTF-8 log4j.appender.LOCALHOST.DatePattern = '.'yyyy-MM-dd'.log' log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.MANAGER = org.apache.log4j.DailyRollingFileAppender log4j.appender.MANAGER.File = ${catalina.base}/logs/manager log4j.appender.MANAGER.Append = true log4j.appender.MANAGER.Encoding = UTF-8 log4j.appender.MANAGER.DatePattern = '.'yyyy-MM-dd'.log' log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.HOST-MANAGER = org.apache.log4j.DailyRollingFileAppender log4j.appender.HOST-MANAGER.File = ${catalina.base}/logs/host-manager log4j.appender.HOST-MANAGER.Append = true log4j.appender.HOST-MANAGER.Encoding = UTF-8 log4j.appender.HOST-MANAGER.DatePattern = '.'yyyy-MM-dd'.log' log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Encoding = UTF-8 log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n # Configure which loggers log to which appenders log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost] = INFO, LOCALHOST log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager] =\ INFO, MANAGER log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager] =\ INFO, HOST-MANAGER
3)再tomcat根目錄下,conf文件夾下,刪除或者重命名logging.properties文件。然后修改context.xml文件,在<Context> 標(biāo)簽修改為<Context swallowOutput="true">,以接管tomcat的日志輸出。這樣,使用log4j進(jìn)行日志切分就完成了。
2、使用cronolog進(jìn)行切分日志
Cronolog是一個(gè)過濾器程序,它從標(biāo)準(zhǔn)輸入讀取日志文件條目,并將每個(gè)條目寫入由文件名模板和當(dāng)前日志所指定的輸出文件中。 當(dāng)擴(kuò)展文件名改變時(shí),關(guān)閉當(dāng)前文件,并打開一個(gè)新文件。 Cronolog是為了與Apache等Web服務(wù)器一起使用,將訪問日志分為每日或每月日志。
# wget https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz # tar -zxf cronolog-1.6.2.tar.gz # cd cronolog # ./configure # make && make install
# which cronolog # /usr/local/sbin/cronolog
編輯tomcat下的bin/catalina.sh(注:行數(shù)不一定是我這個(gè),找到語句為主)
將以上兩處內(nèi)容替換為:
org.apache.catalina.startup.Bootstrap "$@" start \ 2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &
完成后,重新啟動tomcat即可。
3、使用logrotate進(jìn)行切割。
在/etc/logrotate.d下,新建tomcatrotate,編輯tomatrotate,寫入如下內(nèi)容:
/usr/local/tomcat7.0.79/logs/catalina.out { daily rotate 15 missingok dateext compress notifempty copytruncate }
daily 指定轉(zhuǎn)儲周期為每天
rotate 15 指定日志文件刪除之前轉(zhuǎn)儲的次數(shù),0指沒有備份,5指保留5個(gè)備份
missingok 如果日志不存在則忽略該警告信息
dateext 文件后綴是日期格式,也就是切割后文件是:xxx.log-20150828.gz
compress 通過gzip壓縮轉(zhuǎn)儲以后的日志(gzip -d xxx.gz解壓)
notifempty 如果是空文件的話,不轉(zhuǎn)儲
copytruncate 用于還在打開中的日志文件,把當(dāng)前日志備份并截?cái)?/p>
/usr/local/tomcat7.0.79/logs/catalina.out 指定catalina.out的路徑
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
TOMCAT啟動失敗using?catalina_opts為空的解決方法
這篇文章主要給大家分享了TOMCAT啟動失敗using?catalina_opts為空的解決方法,文中有詳細(xì)的解決流程,具有一定的參考價(jià)值,需要的朋友可以參考下2023-10-10tomcat 幾種連接池配置代碼(包括tomcat5.0,tomcat5.5x,tomcat6.0)
Tomcat6.0連接池配置 實(shí)現(xiàn)代碼,大家可以參考下。2009-08-08Tomcat啟動成功但無法訪問http://localhost:8080/的解決方法
在初次使用Tomcat時(shí)遇到了一些問題,經(jīng)過一段時(shí)間的調(diào)試最終將其解決,個(gè)人感覺此問題應(yīng)該比較常見,因此在這做一個(gè)分享,這篇文章主要給大家介紹了關(guān)于Tomcat啟動成功但無法訪問http://localhost:8080/的解決方法,需要的朋友可以參考下2023-04-04解決IDEA配置本地tomcat部署項(xiàng)目找不到項(xiàng)目工件的問題
這篇文章主要給大家介紹了關(guān)于IDEA配置本地tomcat部署項(xiàng)目找不到項(xiàng)目工件的問題解答,文章通過圖文結(jié)合講解的非常詳細(xì),需要的朋友可以參考下2023-10-10解決Idea導(dǎo)入Web項(xiàng)目并發(fā)布到Tomcat問題
這篇文章主要介紹了Idea導(dǎo)入Web項(xiàng)目并發(fā)布到Tomcat中遇到的問題,本文通過圖文詳解給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-11-11使用Maven tomcat:run命令啟動web項(xiàng)目時(shí)修改默認(rèn)端口的方法
今天小編就為大家分享一篇使用Maven tomcat:run命令啟動web項(xiàng)目時(shí)修改默認(rèn)端口的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05