Java中,利用Thread中的StackTrace(),建立Log日誌資訊

今天處理一個Log日誌問題的時候,突然想到在Java中,我如何能得到正在執行的類別及他的方法呢?

這種情況下我想大多數的工程師應該會借助類似Log4J這樣的library,來幫忙紀錄日誌。

但是有沒有其他的方式呢?於是我找了一下發現可以利用Thread中的StackTrace()來產生StackTrace物件,之後再利用StackTrace物件去取得正在執行的類別和方法,除此之外還可以得到現在執行到第幾行了哩!!….

Thread.currentThread().getStackTrace()[0].getClassName();

Thread.currentThread().getStackTrace()[0].getMethodName();

Thread.currentThread().getStackTrace()[0].getLineNumber();

當然,我比較了一下Log4J,後來發現這是一樣的方法!!

藉著這個機會調整了一下我的Log4J的設定:

log4j.appender.stdout.layout.ConversionPattern=

%d{yyy-MM-dd HH:mm:ss} %5p (%F:%M:%L) – %m%n

廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s