如何配置tomcat日誌輸出
㈠ 如何將tomcat啟動時的控制台日誌輸出到文件
Tomcat本身已經把日誌輸出到文件中了。 日誌的配置LZ可以參考 ${Tomcat_Home}\conf\logging.properties這個文件。 級別配置、Format配置都在這個文件裡面。 如果是應用程序列印的日誌,LZ可以使用Log4j輸出到LZ想要的地方。
㈡ 通過配置logging文件在啟動Tomcat時輸出Spring詳細錯誤日誌
在WEB-INF/classes目錄下新建一個文件叫logging.properties,內容如下:
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = error-debug.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
這樣,我們再啟動tomcat時,就會在logs目錄下生成一個更詳細的日誌error-debug.**.log,並且詳細報錯也會在應用的日誌中輸出出來,通過該種設置,可以看到的詳細錯誤日誌
㈢ Tomcat日誌配置編碼
Windows下使用tomcat,經常會出現日誌列印亂碼問題,這里記錄如何將tomcat的日誌設置為UTF-8。基於tomcat-9.0.39。
通過修改conf/logging.properties文件,將其中注釋掉的UTF-8的行取消注釋,即使其生效。
通過設置環境變數:
注意,上述修改完後,應用和tomcat自身logs/下的日誌都以UTF-8編碼輸出了,但是windows控制台上將會是亂碼,因為windows的控制台默認的編碼是GBK。
㈣ tomcat的日誌列印怎麼設置
在eclipse中啟動tomcat時,在console中輸出的日誌信息為紅色,但其實程序並沒有錯誤。原因是:tomcat默認的日誌輸出按jdk中的System.err來輸出,而System.err在eclipse中,以紅色顯示。解決法:Eclipse中System.err的顯示顏色可以通過Window-->Preference-->Run/Debug-->Console的StandardErrortextcolor進行更改。JDK日誌具體的輸出處理類需要在%JRE_HOME%/lib/logging.properties配置的handlers指定,可以使用System.out重寫一個java.util.logging.ConsoleHandler配置進去就可以了。
㈤ tomcat在啟動時,總以error級別輸出日誌的解決方案
tomcat在啟動的時候,不管什麼級別的日誌,總是會以error級別輸出,紅殃殃的一大片,不方便調試,如下:
大部分解決方案都是刪除server.xml中的如下配置項:
這樣治標不治本,只是上圖中的日誌不再顯示了而已。如果遇到其他一些級別的日誌,還是會以error來輸出。
最後,在tomcat官網找到一種解決方式,就是將tomcat的日誌輸出替換為log4j日誌系統來輸出( 官網文檔 ),可以准確輸出各種級別的日誌,具體步驟如下:
將log4j和tomcat-juli-adapters這兩個包放置tomcat的lib下,將tomcat-juli放置tomcat的bin下,存在相同的jar包則替換。
創建log4j.properties文件,放置tomcat的lib下,文件內容如下,可根據需要自己修改:
刪除tomcat的conf下的logging.properties文件
經過以上步驟,基本上就替換完成了,效果如下
可以看到tomcat已經按照我們想要的配置進行輸出日誌了,而且可以看到日誌的級別,大大方便了我們開發調試。
㈥ tomcat怎麼設置能每個項目生成獨立的日誌文件
要使項目生成獨立的日誌文件,則在項目中進行下日誌輸出配置即可,這樣你的項目發布到tomcat容器中後會對應生成獨立的日誌。
在Java中,項目中日誌列印有多種配置方式,比較常用的有log4j、logback兩種,配置大同小異。下面是log4j的其中一生種配置方案:
log4j.rootLogger=INFO,TC,TF-INFO,TF-ERROR #指定日誌根logger
#the console log
log4j.appender.TC=org.apache.log4j.ConsoleAppender #控制台模式
log4j.appender.TC.layout=org.apache.log4j.PatternLayout #日誌模板
log4j.appender.TC.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %c [%p] %m%n #日誌格式化輸出
#the file log
log4j.appender.TF-INFO=org.apache.log4j.DailyRollingFileAppender #文件模式 一天一個文件
log4j.appender.TF-INFO.Threshold=INFO #這里指定日誌級別
log4j.appender.TF-INFO.append=true #是否追加
log4j.appender.TF-INFO.File=log/info/pro_info.log #日誌文件,日誌將列印在該文件裡面
log4j.appender.TF-INFO.Encoding=UTF-8 #日誌編碼
log4j.appender.TF-INFO.DatePattern=.yyyy-MM-dd #日誌文件名的日期格式
log4j.appender.TF-INFO.layout=org.apache.log4j.PatternLayout #日誌模板
log4j.appender.TF-INFO.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %r [%t] [%C.%M:%L] [%p] %m%n #日誌格式化輸出
log4j.appender.TF-ERROR=org.apache.log4j.DailyRollingFileAppender
log4j.appender.TF-ERROR.Threshold=ERROR
log4j.appender.TF-ERROR.append=true
log4j.appender.TF-ERROR.File=log/error/pro_error.log
log4j.appender.TF-ERROR.Encoding=UTF-8
log4j.appender.TF-ERROR.DatePattern=.yyyy-MM-dd
log4j.appender.TF-ERROR.layout=org.apache.log4j.PatternLayout
log4j.appender.TF-ERROR.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %r [%t] [%C.%M:%L] [%p] %m%n
以上只是其中的一種配置,樓主只需要在工程的src源碼目錄下建立一個名為log4j.properties的文件,將內容粘貼進去,啟動項目日誌即可輸出。當然,樓主可根據項目需要自己定義日誌輸出模板,具體可以網上學習下或看下log4j手冊即可。
註:日誌列印需要的jar包:log4j、slf4j-api、slf4j-log4j12三個包
有問題歡迎提問,滿意請採納,謝謝!