logbackログコンポーネントの構成と使用
1.logbackの紹介
Logbackはlog 4 jの創始者によって設計されたもう一つのオープンソースログコンポーネントである.logbackは現在、logback-core、logback-classic、logback-accessの3つのモジュールに分かれています.logback-coreは他の2つのモジュールの基礎モジュールです.logback-classicはlog 4 jの改良バージョンである.さらにlogback-classicはSLF 4 J APIを完全に実現し、log 4 jやJDK 14 Loggingなどの他のログシステムに簡単に交換することができます.logback-accessアクセスモジュールとサーブレットコンテナの統合は、Httpを介してログにアクセスする機能を提供します.
2.maven依存
mavenを使用していない場合は、自分でjarパッケージをダウンロードしてください...
3.構成と使用
1.ログ使用
私たちはorgを使います.slf4j.LoggerFactoryは、ログを直接使用できます.
次の操作を行います.
2.コンソールに特定レベルのログを出力する
logbackのプロファイルは/src/main/resource/フォルダの下にあるlogback.xmlファイルにあります.ここでlogback.xmlファイルはlogbackのプロファイルです.このファイルを配置すると、自動的にこのプロファイルが見つかります.
次の構成では、特定のERRORレベルのログを出力します.
結果は、ERRORレベルのログのみをコンソールに出力します.
3.複数レベルのログを出力する設定
2つのレベルを設定すると、ERRORとINFOレベルのログを出力できます.
4.ファイルログの設定
詳細:http://logback.qos.ch/manual/configuration.html
Logbackはlog 4 jの創始者によって設計されたもう一つのオープンソースログコンポーネントである.logbackは現在、logback-core、logback-classic、logback-accessの3つのモジュールに分かれています.logback-coreは他の2つのモジュールの基礎モジュールです.logback-classicはlog 4 jの改良バージョンである.さらにlogback-classicはSLF 4 J APIを完全に実現し、log 4 jやJDK 14 Loggingなどの他のログシステムに簡単に交換することができます.logback-accessアクセスモジュールとサーブレットコンテナの統合は、Httpを介してログにアクセスする機能を提供します.
2.maven依存
<!-- logback+slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>0.9.28</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>0.9.28</version>
<type>jar</type>
</dependency>
mavenを使用していない場合は、自分でjarパッケージをダウンロードしてください...
3.構成と使用
1.ログ使用
私たちはorgを使います.slf4j.LoggerFactoryは、ログを直接使用できます.
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
次の操作を行います.
@Controller
@RequestMapping(value = "")
public class IndexController extends BaseController {
/**
* Success
* @param response
* @throws IOException
*/
@RequestMapping(value = "")
@ResponseBody
public void hello(HttpServletResponse response) throws IOException {
logger.debug("DEBUG TEST DEBUG ");
logger.info("INFO test INFO ");
logger.error("ERROR test ERROR ");
}
}
2.コンソールに特定レベルのログを出力する
logbackのプロファイルは/src/main/resource/フォルダの下にあるlogback.xmlファイルにあります.ここでlogback.xmlファイルはlogbackのプロファイルです.このファイルを配置すると、自動的にこのプロファイルが見つかります.
次の構成では、特定のERRORレベルのログを出力します.
<?xml version="1.0"?>
<configuration>
<!-- ch.qos.logback.core.ConsoleAppender -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%-5level] %d{HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- -->
<root>
<level value="error" />
<appender-ref ref="console" />
</root>
</configuration>
結果は、ERRORレベルのログのみをコンソールに出力します.
3.複数レベルのログを出力する設定
<?xml version="1.0"?>
<configuration>
<!-- ch.qos.logback.core.ConsoleAppender -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%-5level] %d{HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- -->
<root>
<level value="error" />
<level value="info" />
<appender-ref ref="console" />
</root>
</configuration>
2つのレベルを設定すると、ERRORとINFOレベルのログを出力できます.
4.ファイルログの設定
<?xml version="1.0"?>
<configuration>
<!-- ch.qos.logback.core.ConsoleAppender -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%-5level] %d{HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<!-- ch.qos.logback.core.rolling.RollingFileAppender -->
<appender name="file"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<Encoding>UTF-8</Encoding>
<File>/home/test.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/home/test-%d{yyyy-MM-dd}.log
</FileNamePattern>
<MaxHistory>10</MaxHistory>
<TimeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<MaxFileSize>5MB</MaxFileSize>
</TimeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>[%-5level] %d{HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n
</pattern>
</layout>
</appender>
<!-- -->
<root>
<!-- ERROR INFO , FILE -->
<level value="error" />
<level value="info" />
<appender-ref ref="file" />
<appender-ref ref="console" />
</root>
<!-- -->
<logger name="com.xxx" additivity="false">
<level value="info" />
<appender-ref ref="file" />
<appender-ref ref="console" />
</logger>
</configuration>
詳細:http://logback.qos.ch/manual/configuration.html