日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Tomcat中catalina.out 和 catalina.log的區別和用途詳解

瀏覽:363日期:2023-03-19 16:51:37
目錄
  • catalina.out
  • cataliana.{yyyy-MM-dd}.log和localhost.{yyyy-MM-dd}.log
  • 總結

catalina.out

catalina.out其實是tomcat的標準輸出(stdout)和標準出錯(stderr),這是在tomcat的啟動腳本里指定的,如果沒有修改的話stdout和stderr會重定向到這里。所以我們在應用里使用System.out打印的東西都會到這里來。另外,如果我們在應用里使用其他的日志框架,配置了向Console輸出的,則也會在這里出現。比如以logback為例,如果配置ch.qos.logback.core.ConsoleAppender則會輸出到catalina.out里。

cataliana.{yyyy-MM-dd}.log和localhost.{yyyy-MM-dd}.log

這兩個日志都是通過logging.properties配置的(默認情況下,啟動腳本里指定了java.util.logging.config.file和java.util.logging.manager兩個變量)。一個典型的logging.properties可能如下所示:

handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
 
1catalina.org.apache.juli.FileHandler.level = INFO
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
 
2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.
 
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

這個文件大致的意思是,root輸出到catalina和console。而這里的catalina按照配置對應的是catalina.{yyyy-MM-dd}.log,這里的console最終會輸出到catalina.out。這就是我們看到catalina.{yyyy-MM-dd}.log和catalina.out的日志很多都是一樣的原因。

配置文件中還有一個localhost,所有logname或parent logname為org.apache.catalina.core.ContainerBase.[Catalina].[localhost]的都會輸出到localhost.{yyyy-MM-dd}.log文件。而這個logname又代表著什么呢?在tomcat中有一個server.xml的配置文件,其中有這么一個片段:

<Engine name="Catalina" defaultHost="localhost">
  <Host name="localhost"  appBase="webapps"
unpackWARs="false" autoDeploy="false">
  </Host>
</Engine>

我們可以這么簡單的理解: 一個Tomcat進程對應著一個Engine,一個Engine下可以有多個Host(Virtual Host),一個Host里可以有多個Context,比如我們常常將應用部署在ROOT下還是webapps里其他目錄,這個就是Context。

這其中Engine對應著tomcat里的StandardEngine類,Host對應著StandardHost類,而Context對應著StandardContext。這幾個類都是從ContainerBase派生。這些類里打的一些跟應用代碼相關的日志都是使用ContainerBase里的getLogger,而這個這個logger的logger name就是: org.apache.catalina.core.ContainerBase.[current container name].[current container name]...

而我們一個webapp里listener, filter, servlet的初始化就是在StandardContext里進行的,比如ROOT里有一個listener初始化出異常了,打印日志則logger name是org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/]。這其中Catalina和localhost是上面xml片段里的Engine和Host的name,而[/]是ROOT對應的StandardContext的name。所以listener, filter, servlet初始化時的日志是需要看localhost.{yyyy-MM-dd}.log這個日志的。比如現在我們使用Spring,Spring的初始化我們往往是使用Spring提供的一個listener進行的,而如果Spring初始化時因為某個bean初始化失敗,導致整個應用沒有啟動,這個時候的異常日志是輸出到localhost中的,而不是cataina.out中。所以有的時候我們應用無法啟動了,然后找catalina.out日志,但最后也沒有定位根本原因是什么,就是因為我們找的日志不對。但有的時候catalina.out里也有我們想要的日志,那是因為我們的應用或使用的一些組件自己捕獲了異常,然后將其打印了,這個時候如果恰好這些日志被我們配置成輸出到console,則這些日志也會在catalina.out里出現了。

總結

那么總結起來,catalina.out即標準輸出和標準出錯,所有輸出到這兩個位置的都會進入catalina.out,這里包含tomcat運行自己輸出的日志以及應用里向console輸出的日志。catalina.{yyyy-MM-dd}.log是tomcat自己運行的一些日志,這些日志還會輸出到catalina.out,但是應用向console輸出的日志不會輸出到catalina.{yyyy-MM-dd}.log。localhost.{yyyy-MM-dd}.log主要是應用初始化(listener, filter, servlet)未處理的異常最后被tomcat捕獲而輸出的日志,而這些未處理異常最終會導致應用無法啟動。

最后想想,這里分幾個日志文件其實不利于問題查找,為啥不干脆都輸出到catalina.out里呢?我想tomcat作為通用容器本身,可能考慮到Engine下有多個Host,每個Host的日志還是要輸出到不同的文件。而實際中我們往往是單容器,單Host,甚至是只有一個ROOT的Context。

一般是用log4j按照業務劃分,對一些比較重要的業務會單獨打到一個文件,方便容易定位問題,,其他的默認會打到catalina。

到此這篇關于Tomcat中catalina.out 和 catalina.log的區別和用途詳解的文章就介紹到這了,更多相關Tomcat catalina.out  catalina.log內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Tomcat
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品欧美精品| 欧美日韩色图| 激情欧美丁香| 亚洲一本视频| 亚洲黄页一区| 亚洲综合日本| 亚洲日本在线观看视频| 亚洲精品乱码| 日韩高清一区在线 | 久久人人精品| 秋霞国产精品| 在线亚洲精品| 日韩精品三区四区| 欧美激情视频一区二区三区免费| 国产精品伦一区二区| 精品一区二区三区中文字幕视频| 日韩av在线中文字幕| 91看片一区| 久久亚洲欧洲| 国产情侣一区| 欧美日韩在线观看首页| 国产精品88久久久久久| 亚洲日本在线观看视频| 欧美片第1页综合| 国产h片在线观看| 九九综合九九| 日韩国产精品久久久久久亚洲| 国产伦精品一区二区三区在线播放| 开心激情综合| 国产高清不卡| 丝袜亚洲另类欧美| 国产精品nxnn| 欧美一区二区性| 亚洲va久久| 精品久久视频| 亚洲一区不卡| 精品久久久久中文字幕小说| 亚州av乱码久久精品蜜桃| 日韩不卡在线观看日韩不卡视频| 精品久久影院| 国产亚洲精品v| 欧美交a欧美精品喷水| 欧美影院三区| 日本视频一区二区| 成人污污视频| 亚洲欧美日韩国产综合精品二区| 欧美在线观看天堂一区二区三区| 成年男女免费视频网站不卡| 玖玖玖国产精品| 欧美精品1区| 亚洲综合电影一区二区三区| 精品一区二区三区在线观看视频| 在线国产一区| 精品国产99| 综合精品一区| 亚洲欧洲高清| 91精品国产一区二区在线观看| 人在线成免费视频| 欧美在线日韩| av亚洲在线观看| 国产精品免费精品自在线观看| 91成人精品视频| 美女在线视频一区| 久热re这里精品视频在线6| 日韩成人免费| 日韩福利在线观看| 欧美精品黄色| 日本黄色精品| 青青草伊人久久| 亚洲免费播放| 日韩电影在线视频| 国产高清日韩| 亚洲日本在线观看视频| 91精品一区二区三区综合在线爱| 国产精品久av福利在线观看| 日韩视频在线一区二区三区 | 99久久亚洲精品| 麻豆视频观看网址久久| 亚洲+小说+欧美+激情+另类| 五月天综合网站| 在线看片福利| 欧美激情 亚洲a∨综合| 深夜日韩欧美| 亚洲一区亚洲| 久久国产影院| 麻豆网站免费在线观看| 国产美女视频一区二区| 国产精品美女久久久浪潮软件| 国产成年精品| 欧美1区二区| 日本色综合中文字幕| 亚洲色图网站| 噜噜噜久久亚洲精品国产品小说| 久久九九精品| 亚洲精品永久免费视频| 免费一级欧美片在线观看网站| 日本麻豆一区二区三区视频| 视频一区视频二区中文字幕| 91超碰国产精品| 国产综合精品一区| 视频福利一区| 亚洲v在线看| 日韩精品欧美| 日韩av免费| 久久久亚洲一区| 婷婷综合六月| 日韩国产一区| 亚洲人成在线网站| 中文字幕在线视频久| 日产午夜精品一线二线三线| 精品三级av在线导航| 国产欧美日韩精品一区二区免费| 亚洲欧洲免费| 日韩在线观看中文字幕| 亚洲免费福利一区| 日韩不卡一区二区| 日本欧美一区二区| 亚洲伊人精品酒店| 快she精品国产999| 一区二区不卡| 深夜日韩欧美| 欧美日韩精品一区二区三区在线观看| 日韩不卡一区二区三区| 国产日韩视频在线| 久久精品国产免费| 日韩在线视频精品| 亚洲激情中文| 国产精品美女久久久| 免费不卡在线观看| 日韩成人精品一区二区三区| 国产精品网在线观看| 国产一区二区三区不卡av| 粉嫩av一区二区三区四区五区| 91视频久久| 黑丝美女一区二区| 亚洲日韩视频| 毛片不卡一区二区| 国产欧美一区二区三区精品酒店| 香蕉成人av| 黄色亚洲免费| 一区二区91| 久久不见久久见中文字幕免费| 国产一区二区久久久久| 91精品国产福利在线观看麻豆| 黄色亚洲在线| 日韩精品成人| 精品视频在线一区二区在线| 国产资源在线观看入口av| 日韩精品影视| 久久福利毛片| 国产精品一级在线观看| 岛国av免费在线观看| 伊人久久亚洲美女图片| 日韩在线观看中文字幕| 久久精品国产久精国产| 日韩毛片视频| 日韩专区一卡二卡| 国产福利资源一区| 国产麻豆久久| 中文字幕日本一区| 美女国产一区二区三区| 免费视频亚洲| 日韩一区二区三区精品视频第3页| 国产精品三p一区二区| 日韩精品专区| 首页亚洲欧美制服丝腿| 欧美国产日韩电影| 欧美一区三区| 欧美日韩一视频区二区| 天堂8中文在线最新版在线| 蜜臀久久99精品久久久久久9| 国产高清精品二区| 欧美特黄一级| 久久中文精品| 亚洲在线观看| 国产精东传媒成人av电影| 国产一区二区三区自拍| 欧美有码在线| 激情综合网五月| 国产欧美日韩亚洲一区二区三区| 91精品国产调教在线观看| 日本久久二区| 欧美日韩中文字幕一区二区三区| 四虎在线精品| 播放一区二区| 国产毛片精品| 99在线精品免费视频九九视| 蜜桃精品视频| 免费视频最近日韩| 欧美香蕉视频| 国产欧美大片| 亚洲欧美日韩综合国产aⅴ| 国产精品欧美三级在线观看| 婷婷亚洲五月色综合| 久久亚州av| 少妇精品久久久一区二区| 亚洲特色特黄| 国产成人精品一区二区三区视频| 亚洲精品大全| 亚洲黄色影院|