設定をserver.xmlで行っているTomcat6の特定のコンテキストの
ログ出力を変更する必要があり、実際やってみたら、結構はまってしまいました…
まず、アクセスログに関してですが、
これは、下記のようにserver.xmlを設定することですぐに実現できました。
(まあ、有名なお話です…)
--------【server.xml】--------
...
<Context path="/suz-lab" docBase="/home/suz-lab/webapp">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="/home/suz-lab/log"
prefix="suz-lab_access-"
fileDateFormat="yyyy-MM-dd"
suffix=".log"/>
</Context>
...
--------
で、はまったのがエラーログ(catalina.outに出るやつ)です。
まずは、素直に、下記のようにserver.xmlを指定したのですが、
出力されず...
--------【server.xml】--------
...
<Context path="/suz-lab" docBase="/home/suz-lab/webapp">
<Logger className="org.apache.catalina.logger.FileLogger">
directory="/home/suz-lab/log"
prefix="suz-lab_error-"
suffix=".log"
timestamp="true">
</Logger>
</Context>
...
--------
んー、"Logger"は"Context"の中に記述してもいいはず何だけどな...
と思いながら、いろいろ調べていると、こんな情報が...
> Tomcat 6.0 での重要な変更点として,localhost_log を作るために
> 前のバージョンにあった <Logger> エレメントは,もはや <Context> の
> 妥当な入れ子エレメントではない。そのかわりに,デフォルトの
> Tomcat コンフィグレーションは java.util.logging を使う。
http://www.oki.com/jp/oss/document/tomcat/tomcat60-docs-ja/logging.html
ということで、「logging.properties」のほうで設定しないといけない、
ということでした...
で、見よう見まねで、下記のように設定すると、無事、指定した場所にログが出力されました。
("handlers"に加えるのを忘れないように!)
--------【logging.properties】--------
handlers = 1catalina.org.apache.juli.FileHandler,
2localhost.org.apache.juli.FileHandler,
3manager.org.apache.juli.FileHandler,
4admin.org.apache.juli.FileHandler,
5host-manager.org.apache.juli.FileHandler,
6suzlab.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
...
6suzlab.org.apache.juli.FileHandler.level = FINE
6suzlab.org.apache.juli.FileHandler.directory = /home/suz-lab/log
6sualab.org.apache.juli.FileHandler.prefix = suz-lab_error-
...
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/suz-lab].level
= INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/suz-lab].handlers
= 6suzlab.org.apache.juli.FileHandler
--------
久しぶりのTomcatだったなー...
--------
http://www.suz-lab.com
0 コメント:
コメントを投稿