お世話になっております。
現在log4jを使用したログの出力を検討しております。
その中で1点質問させてください。
Javaの初心者のため、質問がわかりにくいかもしれません。
申し訳ございません。
【質問】
クラスAのinit処理の中でログ出力用クラスBをインスタンス化し、
クラスAのメソッドCの中で、ログ出力用クラスBのログ出力メソッドDを実行することでログ出力させる方法を考えております。
ここでメソッドDで出力させるログの中にメソッドCの名前を出力させたいのですが、
方法がわかりません。
わかる方、教えていただけないでしょうか。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
あぁ、そうですね。
そうなってしまいますよね。この形でログ出力を行うならば、出力メッセージにメソッド名を追加するしかないのではないでしょうか?
メソッドDを呼び出したメソッド名(この場合ならメソッドC)を取得するには
Thread.currentThread().getStackTrace()[1].getMethodName();
とすればいいようです。
ただ、そんなに軽い処理ではないので気をつけてください。
もしくは呼び出し元でメソッド名を文字列として渡すかですね。
メンテナンスが面倒ですが、こちらのほうが処理は軽いです。
ご回答ありがとうございました。
やはり、メソッド名を取得して実施するしかないんですね。
そのように作成したいと思います。
ありがとうございました。
No.1
- 回答日時:
設定ファイルでレイアウトを指定すればいいのではないでしょうか。
参考URLはStrutsでのリファレンスとなっていますが、
log4jの設定に関してはStrutsを使用していなくても同様だと思いますので。
参考URL:http://struts.wasureppoi.com/util/05_layout.html
この回答への補足
ご回答ありがとうございます。
いただきました参考URLにある"%M"は使用してみたのですが、
メソッドDの名前が出力されてしまいます。
もし他の方法をご存知でしたら、再度ご教示いただけると大変助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- その他(プログラミング・Web制作) Pythonで複数のメソッドをまとめて管理する方法について 1 2023/03/30 00:01
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/06 09:28
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 15:14
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- Visual Basic(VBA) セルS2に入力した「月」と一致したB列の右隣へセルS110の値を転記する下記マクロを実行するとエラー 2 2022/12/06 17:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
コマンドプロンプト実行後に画...
-
JSPで<SELECT>の中にDBから持っ...
-
VB.netで、シリアル通信のタイ...
-
boolean型のフィールドとゲッタ...
-
mainメソッドのthrows節で設定...
-
Excel VBA でExcelを終了したい...
-
onClickで関数呼出し後に、結果...
-
エクセルVBAにおけるON TIMEメ...
-
配列のメソッド
-
Refreshメソッドの使い方
-
DataGridViewでセルクリックイ...
-
シンボルを解決できません。 ...
-
ListViewにて行追加
-
AdapterView<?> parent この部...
-
worksheets & rows メソッドは...
-
サーブレット DBにある生年月...
-
ポストバック時のDatasourceバ...
-
ASP.NET MVCのホームページ表...
-
ダブルコロンの役割
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
Labelコントロールに数字を代入...
-
final修飾子を使っているのに、...
-
エクセルVBAにおけるON TIMEメ...
-
コマンドプロンプト実行後に画...
-
mainメソッドのthrows節で設定...
-
DataGridViewでセルクリックイ...
-
javascriptからjavaを呼び出したい
-
VBPをダブルクリックするとたま...
-
onClickで関数呼出し後に、結果...
-
ExcelのxlDialogInsertPictureで。
-
Refreshメソッドの使い方
-
JSPで<SELECT>の中にDBから持っ...
-
【sendkeysメソッドが動かずに...
-
ウィンドウを最前面にできません
-
(String args[])というメッソ...
-
C# 演算 最大値 最小値 表現の仕方
-
Excel VBA シェイプの原型のサ...
-
VB.netで、シリアル通信のタイ...
-
boolean型のフィールドとゲッタ...
おすすめ情報