2013-01-19 59 views
2

我遇到問題。 我在遠程Glassfish實例上部署了一個Web服務。現在我需要一些簡單的日誌或調試系統來糾正我的代碼(使用簡單的打印將是更可取的)。 我的想法是使用glassfish日誌文件,因爲我可以從管理GUI訪問它,但它不起作用;我無法寫入此文件。 任何想法來解決這個問題?或者我可以使用的其他方法? 謝謝遠程登錄和/或調試Glassfish

+0

據我所知,如果您使用java logging api,並在glassfish管理控制檯上爲您的應用程序啓用日誌記錄,那麼您的日誌記錄會被gl​​assfish拾取。 – flup

+0

http://docs.oracle.com/cd/E18930_01/html/821-2418/beafm.html#scrolltoc – flup

+0

@flup以下其他指南,我有這個非常簡單的類: 'code'public class NewClass { 私人靜態記錄器日誌; public static void main(String [] args) System.out.println(「log」); log = Logger.getLogger(NewClass.class.getName()); log.setLevel(Level.ALL); log.info(「log info」); log.severe(「log severe」); log.fine(「log fine」); log.finer(「log finer」); log.finest(「log bestst」); log.config(「log config」); log.warning(「log warning」); }'code' 但是日誌文件中沒有顯示 – user1439247

回答

4

Glassfish的默認日誌解決方案是使用java.util.logging(JUL)記錄器。

你可以在你的代碼按如下方式使用它:

package org.example.something; 

[...]

import java.util.logging.Logger; 

[...]

Logger logger = Logger.getLogger(getClass().getName()); 
logger.severe("severe"); 
logger.info("info"); 
logger.fine("fine"); 

您可以管理的GlassFish日誌通過在http://servername:4848/上運行的管理控制檯。還有其他的方法。

在Glassfish 3.1中,您可以在配置,your-server-config,Logger Settings頁面,Log Levels選項卡上設置每個記錄器的日誌級別。 您可以按添加記錄器。 您將您的課程包作爲記錄器名稱,因此在本示例中爲org.example.something並選擇了日誌級別。只要日誌級別com.sun.enterprise.server.logging.GFFileHandler也設置爲此級別或低於此級別,則此級別或以上的任何內容都將被記錄。請參閱Glassfish 3.1.1 suddenly stopped writing to server log

按保存並且更改應立即生效。 在「常規」選項卡中,可以找到日誌記錄最終位置的配置。

您也可以瀏覽管理工具中的日誌記錄。選擇服務器,常規選項卡,查看日誌文件。

+0

我正在嘗試登錄遠程Glassfish 3版本,你對3.1的看法似乎不存在:我不能添加任何新的規則。我注意到的唯一有趣的事情是有一個「java.util.logging.ConsoleHandler」的規則設置爲「FINEST」 – user1439247

+0

我嘗試了Glassfish的舊版本,在那裏我找到了與「應用程序服務器」,「日誌記錄」,「日誌級別」,「添加屬性」相同的設置。微小的打印說:「點擊添加屬性爲應用程序記錄器設置日誌級別。」我期望的格式是關鍵:'org.example.something'和值:'最好'。 – flup

+0

在我的版本中,我必須進入「配置」 - >「記錄器設置」 - >「記錄級別」 – user1439247