システムログ¶
システムログは、ログ API を利用して出力される汎用的なログです。具体的には、以下の内容がシステムログとして出力されます。(全て同一のログファイル system.log に出力されます。)
サーバの運用状態を通知するためのログ
- サーバの状態をトレースするために必要な情報が出力されます。
エラー発生時のログ
- サーバ運用中に発生した様々なエラーが出力されます。
モジュール コアモジュール 設定場所 %CONTEXT_PATH%/WEB-INF/conf/log/im_logger.xml <?xml version="1.0" encoding="UTF-8"?> <configuration> <jmxConfigurator /> <!-- <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" /> --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <outputPatternAsHeader>true</outputPatternAsHeader> <pattern>[%level] %logger{10} - [%X{log.message.code}] %msg%n</pattern> <!-- <charset>Windows-31J</charset> --> </encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${im.log}/platform/system.log</file> <append>true</append> <!-- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern> ${im.log}/platform/system-%d{yyyy-MM-dd}.log </fileNamePattern> </rollingPolicy> --> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${im.log}/platform/system%i.log</fileNamePattern> <minIndex>1</minIndex> <maxIndex>5</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>10MB</maxFileSize> </triggeringPolicy> <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"> <layout class="jp.co.intra_mart.common.platform.log.layout.OutputStackTracePatternLayout"> <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %-5level %logger{255} %X{tenant.id} %X{log.id} %X{request.id} - [%X{log.message.code}] %msg%nopex%n</pattern> <enableOutputStackTrace>true</enableOutputStackTrace> <stackTraceDir>${im.log}/platform/exception/</stackTraceDir> <stackTraceFilename>'exception_'yyyy-MM-dd_HH-mm-ss'_%logId.log'</stackTraceFilename> </layout> </encoder> </appender> <!-- <appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender"> <smtpHost>smtp_host</smtpHost> <to>to_mailaddress</to> <from>from_mailaddress</from> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%date %-5level %logger{255} - %message%n</Pattern> </layout> </appender> --> <root> <level value="info" /> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE" /> </root> <!-- - Logger for Axis2 --> <logger name="org.apache.axis2.util.PrettyPrinter"> <level value="error" /> </logger> <!-- - Logger for SpyDataSource --> <logger name="com.caucho.sql.spy"> <level value="trace" /> </logger> <!-- - Logger for OpenPortal --> <logger name="debug.com.sun.portal.portletcontainer.impl"> <level value="warn" /> </logger> <logger name="com.sun.portal.portletcontainer.context.window.impl"> <level value="warn" /> </logger> <!-- - Logger for WSRP --> <logger name="com.sun.xml.wss.logging.impl.filter"> <level value="warn" /> </logger> <!-- - Logger for Session Timeout --> <logger name="error-page.session-timeout"> <level value="off" /> </logger> </configuration>
出力パターン¶
利用可能なMDCキー¶
システムログで利用可能なMDCのキーは以下の通りです。MDCについては「MDC」を参照してください。
MDCキー 設定有無(初期値) 説明 log.thread.group × スレッドグループ log.id ○ ログ ID request.id ○ リクエスト ID log.message.code ○ ログメッセージコード user.cd × ログ出力時のアカウントコンテキストのユーザコードintra-mart Accel Platform 2014 Spring(Granada) 以降、利用可能です。user.type × ログ出力時のアカウントコンテキストのユーザ種別administrator : システム管理者platform : ジョブなどのバックグラウンドuser : 一般ユーザintra-mart Accel Platform 2014 Spring(Granada) 以降、利用可能です。tenant.id ○ ログ出力時のアカウントコンテキストのテナント IDintra-mart Accel Platform 2014 Spring(Granada) 以降、利用可能です。authenticated × ログ出力時のアカウントコンテキストの認証状態true : 認証済みfalse : 未認証intra-mart Accel Platform 2014 Spring(Granada) 以降、利用可能です。コラム
アカウントコンテキストの詳細については、「アカウントコンテキストのJavaDoc」を参照してください。
注意
intra-mart Accel Platform 2013 Summer(Damask) 以前のバージョンを利用している場合、 初期状態のログ設定ファイルでは、system.log にメッセージコードが出力されません。
メッセージコードを出力するためには、%CONTEXT_PATH%/WEB-INF/conf/log/im_logger.xml に MDCキー「log.message.code」を設定してください。