自己投資の一つとしてチャレンジしている Programming の独習状況を Blog にしたいと思います。
Programming といっても色々ありますが Java について学んだことをメモしていきます。Java の開発経験はなく趣味で独習しています。ちなみに動作環境は ubuntu 16.04.6 LTS で java-12、IntelliJ 2020.1 Community Edition です。
————————————-
▼ 1. SLF4J について
————————————-
SLF4J (Simple Logging Facade For Java) の略。SLF4J を使えばログ出力する際、ログのレベルを記載することができます 。例えば java.util.logging, logback, log4j などが提供されています。
何に使えるかというとログを出力する時、ログを Information として出力するのか、Error として出力するのか、それともシステムに影響ないのでエラーとまではいかないが Warning として出力するか、はたまた Debug レベルのログとして出力するか、Trace レベルとするのか設定できます。
これによりアプリケーションが失敗した時にアプリケーションのログにあるログレベルの Error や Warn を確認しトラブルシューティングを行うことができます。
————————————-
▼ 2. SLF4J を利用してログを出力
————————————-
参考情報: SLF4J manual http://www.slf4j.org/manual.html
2-1. SLF4J を利用するために必要なファイルをダウンロードします。curl コマンドを利用して 下記のファイルをダウンロードします (参照 http://www.slf4j.org/download.html) 。
// slf4j-simple-1.7.28.jar をダウンロード
curl –O https://repo1.maven.org/maven2/org/slf4j/slf4j-simple/1.7.28/slf4j-simple-1.7.28.jar
// slf4j-api-1.7.28.jar をダウンロード
curl –O https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.28/slf4j-api-1.7.28.jar
2-2. 実際に Hello World のコードを書いて実行します。
2-2-1, IntelliJ を起動し、ダウンロードした jar ファイルを library に登録 File –> Project Structure… –> Project Settings –> Libraries で + ボタンをクリックし Java を選択後、2-1 でダウンロードした Jar ファイルを jar class として登録します。
2-2-2, pom.xml の内容を修正、確認します。
<project xmlns=”http://maven.apache.org/POM/4.0.0″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
<modelVersion>4.0.0</modelVersion>
<groupId>example</groupId>
<artifactId>helloworld</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.28</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.28</version>
</dependency>
</dependencies>
</project>
2-2-3, (ライブラリーが読み込めてない場合) File -> Invalidate Caches / Restart… を選択し IntelliJ を再起動します。
2-2-4. Maven を使った IntelliJ のプロジェクトで Java の class を作成します。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class helloworld{
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(helloworld.class);
logger.info("Hello World");
}
}上では 情報レベルのログとしてログを出力するため logger.info を使ってますが、エラーレベルのログをして出力したい場合は logger.error(…) 、警告レベルでは logger.warn(…)、デバッグレベルのログとして出力したい場合は logger.debug(…)、トレースレベルのログでは logger.trace(…) のようにコードを書きます。
2-2-5, プログラムを実行すると以下の結果が得られます。
[main] INFO helloworld - Hello World
————————————-
▼ 3. 参考情報
————————————-
SLF4J http://www.slf4j.org/
SLF4J manual http://www.slf4j.org/manual.html
Java Abstraction https://javatutorial.net/java-abstraction-example
以上です。参考になりましたら幸いです。