Spring Bootログローテーション
logback.xmlファイルを作成して、Spring Bootログがどうやって生成されるかを設定します。
Spring Bootロギングシステムの詳細は、https://www.baeldung.com/spring-boot-loggingをご覧ください。
手順
-
$IAM_HOME/apache-tomcat/conf/iam.propertiesに、Spring Bootログの設定ファイルへのパスを示す新しい行を追加します。
例
logging.config=classpath:logback.xml
-
関連する各Talendアプリケーションのlogback.xmlファイルを作成します。
例
vim $IAM_HOME/apache-tomcat/webapps/(idp|oidc|scim|sts|sts-tac)/WEB-INF/classes/logback.xml
情報メモ注: scim.logとsts-tac.logのlogback.xmlファイルは既に存在しています。各logback.xmlファイルのコンテンツは以下のように表示されるはずです:sts.logとsts-tac.logは、それらのlogback.xmlファイルに監査に関連するアペンダーを追加できます。これで、コンテンツは以下のように表示されるはずです:<configuration> <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(-%5p) [%t] %-40.40logger{39} : %m%n" /> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${CATALINA_BASE:-.}/logs/<app>.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${CATALINA_BASE:-.}/logs/<app>.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>10</maxHistory> <totalSizeCap>100 mb</totalSizeCap> </rollingPolicy> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="FILE" /> <appender-ref ref="STDOUT" /> </root> </configuration>
<configuration> <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} -%highlight(%5p) [%t] %-40.40logger{39} : %m%n" /> <!-- %d [%t] %-5p %c %x - %m%n --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${CATALINA_BASE:-.}/logs/<app>.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${CATALINA_BASE:-.}/logs/<app>.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>10</maxHistory> <totalSizeCap>100 mb</totalSizeCap> </rollingPolicy> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <appender name="AUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${CATALINA_BASE:-.}/logs/<app>/audit-tac.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${CATALINA_BASE:-.}/logs/<app>/audit-tac.%d{yyyy-MMdd}.log</fileNamePattern> <maxHistory>10</maxHistory> <totalSizeCap>20 mb</totalSizeCap> </rollingPolicy> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <logger name="org.talend.identity.sts.event.map.MapEventLogger" level="DEBUG" additivity="false"> <appender-ref ref="AUDIT" /> </logger> <root level="INFO"> <appender-ref ref="FILE" /> <appender-ref ref="STDOUT" /> </root> </configuration>
例では、ログレベルが各logback.xmlファイルで定義されていますが、iam.propertiesファイルに次の行を追加すると、ログレベルをグローバルに変更できます。パラメーターの値は以下のいずれかです:logging.level.root=DEBUG
- TRACE
- DEBUG
- INFO
- WARN
- ERROR