次のようなLOG4jの設定ファイルからログレベルを取得したいのですが
うまく取得できません。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- 一般ログファイル出力 -->
<appender name="LogFile" class="org.apache.log4j.FileAppender">
<param name="File" value="c:/TestLog4j.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %m (%F:%L) %c[%t]%n"/>
</layout>
</appender>
<!-- 一般ログ出力設定 -->
<logger name="clip">
<level value="DEBUG"/>
<appender-ref ref="LogFile"/>
</logger>
</log4j:configuration>
JAVAのソースは
//ログ4j設定ファイル読み込み
DOMConfigurator.configure("c:/log4j.xml");
//ロガーの取得
Logger batchLog = Logger.getLogger(getClass());
//テストログの出力
batchLog.fatal("テスト");
//ログレベルの取得
Level logLevel = batchLog.getLevel();
System.out.println(logLevel); // 結果:null
System.out.println(logLevel.toString()); // NullPointerExceptionでエラー
テストログは出力できるのですが、ログレベルの取得で
エラーになってしまいます。
log4jの設定ファイルからログレベルを取得するにはどうすれば
良いのでしょうか?
No.1ベストアンサー
- 回答日時:
<!-- 一般ログ出力設定 -->
<logger name="clip">
> Logger batchLog = Logger.getLogger(getClass());
呼び出し側JAVAのクラス名が`clip`になっていない為
NullPointerExceptionが出ていると思われます。
JAVAでのLOGGER、CATEGORYの指定方法の誤りです。
Logger#getLoggerの引数には、クラスも指定できますが、
個人的には文字列を指定した方がやりやすいかな…と。
▼以下、LOG4J 1.2.13にて確認済み
ちなみに、log4j.xml をこのように記述した場合
----------------------------------------
<logger name="SYSTEM">
<level value="DEBUG"/>
<appender-ref ref="LogFile"/>
</logger>
----------------------------------------
または
----------------------------------------
<category name="SYSTEM">
<priority value="DEBUG" />
<appender-ref ref="LogFile"/>
</category>
----------------------------------------
JavaでLoggerを取得する際こんな感じに引数を指定すれば、
普通にgetLevel()が使用できると思います。
Logger batchLog = Logger.getLogger("SYSTEM");
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
指定地点(緯度・経度)から指定...
-
EXCEL VBAで、EXCELの入力規則...
-
log4jでログレベルが取得できな...
-
Excelで可視セルの行番号取得
-
ActiveReportのDataSourceについて
-
登録済みイベントリスナーの情...
-
ActiveWorkbook.Pathの一つ下の...
-
エクセルVBAでホームページの文...
-
VBAでTIFF画像を読み込むには?
-
Formatでmmが月と分を意味する理由
-
javascriptでIMEの状態を取得
-
Spreadでの複数行選択
-
ボタンが活性化の場合とは、ボ...
-
グローバルIPアドレスの変更タ...
-
三菱GOTの画面切り替えについて
-
「<c:forEach タグが終了し...
-
リクエストに応じたselectedの...
-
Javaプログラミングの質問にな...
-
C言語で今まで表示していた画面...
-
フォルダ改行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBAで、EXCELの入力規則...
-
登録済みイベントリスナーの情...
-
ActiveWorkbook.Pathの一つ下の...
-
VBAでTIFF画像を読み込むには?
-
ActiveReportのDataSourceについて
-
Formatでmmが月と分を意味する理由
-
Excelで可視セルの行番号取得
-
スプレッドのアクティブセルの...
-
java → jsp コンボボックス表示...
-
javascriptでIMEの状態を取得
-
オーディオファイルの総時間
-
Spreadでの複数行選択
-
strutsで空白を認識させるには?
-
GetWindowTextについて
-
指定地点(緯度・経度)から指定...
-
WebBrowserに表示されているペ...
-
javascriptでローカルフォルダ...
-
画像を分析して文字列を取得
-
log4jでログレベルが取得できな...
-
エクセルVBAでホームページの文...
おすすめ情報