JavaでLog4jログを使用する方法

王林
リリース: 2023-05-05 14:10:11
転載
2559 人が閲覧しました

なぜログを使用するのでしょうか?

プログラムの実行プロセス中に多くの情報が生成されることはわかっています。たとえば、プログラムがいつ実行されたか、実行の結果はどうなったかなどです。プログラムの実行状況を把握するために、ログをコンソールに出力したり、指定したファイルに出力したりすることができますが、これについては次の記事で詳しく紹介します。

ダウンロード:

Log4J は、ログ処理のための Apache Company のオープンソース プロジェクトです。ダウンロード アドレス:

https://logging.apache.org/log4j/2.x/download.html

JavaでLog4jログを使用する方法

ダウンロード後は、完了すると、接尾辞 jre という名前のパッケージを取得できます。

詳細な手順:

1. IDEA

を開いて新しいプロジェクトを作成し、プロジェクト内に新しい lib パッケージを作成し、その中に log4j.jar パッケージを置きます。

JavaでLog4jログを使用する方法

#次に、src にクラスを作成します。

JavaでLog4jログを使用する方法## 図の手順に従ってください。

JavaでLog4jログを使用する方法ここに jre パッケージを追加するだけです:

JavaでLog4jログを使用する方法2. ログ オブジェクトを作成します

上記の操作が完了したらつまり、クラス内にオブジェクトを作成できます。

注: ここで選択した Logger パッケージは Apache のパッケージです。ここで間違ったものを選択しないように注意してください。

#
import org.apache.log4j.Logger; public class logTest { public static void main(String[] args) { //导入对象: Logger log = Logger.getLogger(logTest.class); log.error("用于记录error级别的信息"); //记录严重错误 log.warn("用于记录warn级别的信息"); //记录警告 log.info("用于记录info级别的信息"); //记录信息 log.debug("用于记录debug级别的信息"); //记录debug } }
ログイン後にコピー

次に、構成ファイルを作成する必要があります:JavaでLog4jログを使用する方法

新しいファイル ファイルを作成します。ファイルのサフィックスはプロパティである必要があります

次に、新しいファイルを作成し、名前をリソースに設定し、形式を次の図に変更します。JavaでLog4jログを使用する方法

次に、先ほど作成した設定ファイルをこのファイル内に追加します:JavaでLog4jログを使用する方法

#log.properties で次の 3 つの最も重要な情報を設定する必要があります:

JavaでLog4jログを使用する方法

#プログラムがログ ファイルに記録するログのレベルを設定します。

  • ログをプログラムのコンソール (一時的な) に記録するかどうか、ログの出力先を指定します。ファイル内 (永続ストレージ)

  • コンソールやファイルに出力するログ情報の出力形式、またはログ情報の形式を指定します。記録された。

  • 設定したテンプレートは次のとおりです。

    これを log.properties に直接コピーします。

# 1. 出力レベル情報を設定します。 , Info 以上のレベルはログファイルに記録できますが、debug などの下位レベルはログファイルに記録されません

# stdout が設定したログレコードの出力先になります(名前は任意で大丈夫です) )

log4j.rootLogger=info,stdout

#2. ロギング先の設定(ConsoleAppenderのコンソールへの記録)

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#3. レコード形式またはスタイルを設定します (System.err は赤色のスタイル、System.out は黒色のスタイル)

log4j.appender.stdout.Target=System.err

# レコード形式を設定します
#PatternLayout はカスタム ルールに従ってレイアウトされます (%d %l %m %n は指定されたルール レイアウトです)

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j .appender.stdout.layout.ConversionPattern=%d %l %m %n


最初はこの構成情報を無視できます。上記の構成を完了するには、まず上記を実行しましょう。そのコード部分:

# これが表示された場合は、それが正しいことを意味します。このログの機能を確認するためにコードを書き直してみましょう:

import org.apache.log4j.Logger; import java.util.Scanner; public class test2 { public static void main(String[] args) { Logger logger = Logger.getLogger(test2.class); Scanner input = new Scanner(System.in); try{ System.out.println("请输入除数:"); int a = input.nextInt(); logger.debug("bug:输入除数"+a); logger.info("info:输入除数"+a); System.out.println("请输入被除数:"); int b = input.nextInt(); logger.debug("bug:输入除数"+b); logger.info("info:输入除数"+b); int c = a/b; //把结果记录到日志文件中 logger.debug("bug:结果"+c); logger.info("info:结果"+c); System.out.println("结果是:"+c); } catch (Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); }finally { System.out.println("程序结束!!"); } } }
ログイン後にコピー

これは除算演算です。最初に実行して効果を確認してください:JavaでLog4jログを使用する方法

プログラムで実行したすべてのステップがログに記録されることがわかりました。設定ファイルはコンソールに出力するように設定されているため、ログ情報はコンソールに直接表示されます。指定したファイルに出力する必要がある場合は、次のように設定します:

JavaでLog4jログを使用する方法

次に、除算プログラムを実行します:

JavaでLog4jログを使用する方法

指定されたファイルに出力するように設定されているため、コンソールにはログ情報が表示されません。 設定されたパスによると、

JavaでLog4jログを使用する方法

のようになります。これには、時刻情報、番組名情報、番組の途中で何が起こったかの情報がすべて記録されます。もちろん、他にも多くの出力形式があり、必要に応じて設定できます。

ここでは、Senior Xiaoying が Log4j ログについて話します。これらの手順を完了すると、簡単なログ記録が完成します。次のログ出力レベルにも注意する必要があります。

ログ出力レベル:

1.off: すべてのログをオフにするために使用される最高レベル。
2.fatal は、重大なエラーが発生するたびにアプリケーションにエラーが発生することを示します。プログラムの終了
3.error は、エラー イベントが送信されても、システムの動作には影響しないことを意味します
4.warn は、潜在的なエラー状況が発生することを示します
5.info 一般ユーザーはプログラムの実行プロセスを記録します
6.debug は通常、情報レコードのデバッグに使用されます##7.all は最下位レベルで、すべてのログ レコードを開くために使用されます
##

以上がJavaでLog4jログを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!