プログラムの実行プロセス中に多くの情報が生成されることはわかっています。たとえば、プログラムがいつ実行されたか、実行の結果はどうなったかなどです。プログラムの実行状況を把握するために、ログをコンソールに出力したり、指定したファイルに出力したりすることができますが、これについては次の記事で詳しく紹介します。
Log4J は、ログ処理のための Apache Company のオープンソース プロジェクトです。ダウンロード アドレス:
https://logging.apache.org/log4j/2.x/download.html
ダウンロード後は、完了すると、接尾辞 jre という名前のパッケージを取得できます。
を開いて新しいプロジェクトを作成し、プロジェクト内に新しい lib パッケージを作成し、その中に log4j.jar パッケージを置きます。
#次に、src にクラスを作成します。## 図の手順に従ってください。
ここに jre パッケージを追加するだけです:
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 } }
次に、構成ファイルを作成する必要があります:
新しいファイル ファイルを作成します。ファイルのサフィックスはプロパティである必要があります次に、新しいファイルを作成し、名前をリソースに設定し、形式を次の図に変更します。
次に、先ほど作成した設定ファイルをこのファイル内に追加します:
#log.properties で次の 3 つの最も重要な情報を設定する必要があります:#プログラムがログ ファイルに記録するログのレベルを設定します。
# 1. 出力レベル情報を設定します。 , Info 以上のレベルはログファイルに記録できますが、debug などの下位レベルはログファイルに記録されません
# stdout が設定したログレコードの出力先になります(名前は任意で大丈夫です) )log4j.rootLogger=info,stdout
#2. ロギング先の設定(ConsoleAppenderのコンソールへの記録)log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
#3. レコード形式またはスタイルを設定します (System.err は赤色のスタイル、System.out は黒色のスタイル)# レコード形式を設定します
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#PatternLayout はカスタム ルールに従ってレイアウトされます (%d %l %m %n は指定されたルール レイアウトです)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("程序结束!!"); } } }
これは除算演算です。最初に実行して効果を確認してください:
プログラムで実行したすべてのステップがログに記録されることがわかりました。設定ファイルはコンソールに出力するように設定されているため、ログ情報はコンソールに直接表示されます。指定したファイルに出力する必要がある場合は、次のように設定します:
次に、除算プログラムを実行します:
指定されたファイルに出力するように設定されているため、コンソールにはログ情報が表示されません。 設定されたパスによると、
のようになります。これには、時刻情報、番組名情報、番組の途中で何が起こったかの情報がすべて記録されます。もちろん、他にも多くの出力形式があり、必要に応じて設定できます。
ここでは、Senior Xiaoying が Log4j ログについて話します。これらの手順を完了すると、簡単なログ記録が完成します。次のログ出力レベルにも注意する必要があります。
ログ出力レベル:
1.off: すべてのログをオフにするために使用される最高レベル。
2.fatal は、重大なエラーが発生するたびにアプリケーションにエラーが発生することを示します。プログラムの終了
3.error は、エラー イベントが送信されても、システムの動作には影響しないことを意味します
4.warn は、潜在的なエラー状況が発生することを示します
5.info 一般ユーザーはプログラムの実行プロセスを記録します
6.debug は通常、情報レコードのデバッグに使用されます##7.all は最下位レベルで、すべてのログ レコードを開くために使用されます
##
以上がJavaでLog4jログを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。