Skip to content

Instantly share code, notes, and snippets.

@minazou67
Last active February 28, 2018 04:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save minazou67/ad24cd921298bec455565fb8de9f482e to your computer and use it in GitHub Desktop.
Save minazou67/ad24cd921298bec455565fb8de9f482e to your computer and use it in GitHub Desktop.
How to change log format of tomcat on the pleiades

How to change log format of tomcat on the pleiades

Pleiades All in One (Eclipse) 上の Tomcat のログフォーマットの形式を変更する方法です。

Environment

  • Windows 10
  • Pleiades All in One 4.6
  • Tomcat 8
  • Java 8

Default output information

デフォルトでは下記の形式で出力されますが、backtrace が出力されず、情報量が少ないためサーブレット起動時のエラー解析などに支障があります。

java.util.logging.SimpleFormatter.format=%4$s: %5$s [%1$tc]%n
情報: Initializing ProtocolHandler ["http-nio-8080"] [水 2 28 12:07:54 JST 2018]
情報: Using a shared selector for servlet write/read [水 2 28 12:07:55 JST 2018]
情報: Initializing ProtocolHandler ["ajp-nio-8009"] [水 2 28 12:07:55 JST 2018]
情報: Using a shared selector for servlet write/read [水 2 28 12:07:55 JST 2018]
情報: Initialization processed in 496 ms [水 2 28 12:07:55 JST 2018]
情報: サービス Catalina を起動します [水 2 28 12:07:55 JST 2018]
情報: Starting Servlet Engine: Apache Tomcat/8.0.43 [水 2 28 12:07:55 JST 2018]
情報: Starting ProtocolHandler ["http-nio-8080"] [水 2 28 12:07:55 JST 2018]
情報: Starting ProtocolHandler ["ajp-nio-8009"] [水 2 28 12:07:55 JST 2018]
情報: Server startup in 242 ms [水 2 28 12:07:55 JST 2018]

When changing the Tomcat setting

logging.properties ファイルを作成し、Tomcat の起動構成を変更します。
使用している Tomcat 単位での設定が可能です。

Add VM argument

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file="${CATALINA_BASE}\conf\logging.properties"

${CATALINA_BASE} の部分は、-Dcatalina.base で指定しているパスで上書きしてください。

Create property file

上記で指定したパスに logging.properties ファイルを作成します。

handlers = java.util.logging.ConsoleHandler

.level= INFO

java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter

上記のフォーマッターでは、下記のようなログが出力されます。

28-Feb-2018 12:31:46.697 情報 [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
28-Feb-2018 12:31:46.798 情報 [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
28-Feb-2018 12:31:46.798 情報 [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
28-Feb-2018 12:31:46.798 情報 [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
28-Feb-2018 12:31:46.798 情報 [main] org.apache.catalina.startup.Catalina.load Initialization processed in 495 ms
28-Feb-2018 12:31:46.813 情報 [main] org.apache.catalina.core.StandardService.startInternal サービス Catalina を起動します
28-Feb-2018 12:31:46.813 情報 [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.43
28-Feb-2018 12:31:46.998 情報 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
28-Feb-2018 12:31:46.998 情報 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
28-Feb-2018 12:31:46.998 情報 [main] org.apache.catalina.startup.Catalina.start Server startup in 202 ms

When changing the JRE setting

JRE 付属の logging.properties ファイルを修正します。
使用している JRE 単位での設定が可能です。

Confirm runtime information

Tomcat のランタイム情報を確認し、使用している JRE のパスを確認します。

Change properties file

${JRE_HOME}/lib/logging.properties を修正し、SimpleFormatter のフォーマットを変更します。

#-----------------------------------------------------------
# Pleiades Custom: Enabled one line format.
#-----------------------------------------------------------
#java.util.logging.SimpleFormatter.format=%4$s: %5$s [%1$tc]%n
java.util.logging.SimpleFormatter.format=%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL %4$s %5$s (%2$s) [%3$s] %6$s%n

上記のフォーマッターでは、下記のようなログが出力されます。

2018-02-28 13:08:42.732 情報 Initializing ProtocolHandler ["http-nio-8080"] (org.apache.coyote.AbstractProtocol init) [org.apache.coyote.http11.Http11NioProtocol] 
2018-02-28 13:08:42.817 情報 Using a shared selector for servlet write/read (org.apache.tomcat.util.net.NioSelectorPool getSharedSelector) [org.apache.tomcat.util.net.NioSelectorPool] 
2018-02-28 13:08:42.832 情報 Initializing ProtocolHandler ["ajp-nio-8009"] (org.apache.coyote.AbstractProtocol init) [org.apache.coyote.ajp.AjpNioProtocol] 
2018-02-28 13:08:42.832 情報 Using a shared selector for servlet write/read (org.apache.tomcat.util.net.NioSelectorPool getSharedSelector) [org.apache.tomcat.util.net.NioSelectorPool] 
2018-02-28 13:08:42.832 情報 Initialization processed in 504 ms (org.apache.catalina.startup.Catalina load) [org.apache.catalina.startup.Catalina] 
2018-02-28 13:08:42.848 情報 サービス Catalina を起動します (org.apache.catalina.core.StandardService startInternal) [org.apache.catalina.core.StandardService] 
2018-02-28 13:08:42.848 情報 Starting Servlet Engine: Apache Tomcat/8.0.43 (org.apache.catalina.core.StandardEngine startInternal) [org.apache.catalina.core.StandardEngine] 
2018-02-28 13:08:43.033 情報 Starting ProtocolHandler ["http-nio-8080"] (org.apache.coyote.AbstractProtocol start) [org.apache.coyote.http11.Http11NioProtocol] 
2018-02-28 13:08:43.033 情報 Starting ProtocolHandler ["ajp-nio-8009"] (org.apache.coyote.AbstractProtocol start) [org.apache.coyote.ajp.AjpNioProtocol] 
2018-02-28 13:08:43.033 情報 Server startup in 207 ms (org.apache.catalina.startup.Catalina start) [org.apache.catalina.startup.Catalina] 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment