2014-09-11 61 views
0

我需要在我們的linux服務器中創建可訪問的日誌文件。 Java程序用於創建日誌。如何在Linux中的文件中保存日誌輸出

在我的控制檯

Sep 11, 2014 3:03:05 PM com.gsis.bom.Log appLog 
SEVERE: test 1 
Sep 11, 2014 3:03:06 PM com.gsis.bom.Log appLog 
INFO: test 2 
Sep 11, 2014 3:03:06 PM com.gsis.bom.Log appLog 
INFO: test 3 

但這個消息應該被保存在Linux的文件。對於例如/home/logs 我該怎麼做?

THANK YOU

編輯

LogManager lm = LogManager.getLogManager(); 
      Logger logger; 
      FileHandler fh = new FileHandler("log_test.txt"); 

      logger = Logger.getLogger("LoggingExample1"); 

      lm.addLogger(logger); 
      logger.setLevel(Level.INFO); 
      fh.setFormatter(new XMLFormatter()); 

      logger.addHandler(fh); 
      logger.log(Level.SEVERE, "test 1"); 
      logger.log(Level.INFO, "test 2"); 
      logger.log(Level.INFO, "test 3"); 
      fh.close(); 

這是我使用的代碼。好的,我可以在我的控制檯中看到它。 但我需要將這些消息保存在一個文件中。例如在我們的Linux服務器

+3

使用像Log4J的日誌框架。 – 2014-09-11 07:06:22

+1

http://www.slf4j.org/ – aviad 2014-09-11 07:06:50

+0

在您的java程序中使用輸出重定向操作符。例如'your_java_prog_binary>/home/logs.txt' – iqstatic 2014-09-11 07:08:49

回答

2

您可以使用類類似下面/home/logs/log.txt,

import org.apache.log4j.Logger; 

public class CreateLog{ 

    static Logger logEntry = Logger.getLogger(
        CreateLog.class.getName()); 

    public void testLog(){ 
     logEntry.info("some information message"); 
     logEntry .error("some error message"); 
    } 
} 
+0

我編輯我的問題,並把一些代碼。我需要一個將它保存到我們的linux服務器的代碼 – user3264438 2014-09-11 07:19:11

+0

就log4j而言,您必須在配置文件(log4j.properties)中指定文件名和路徑的密鑰(log4j.appender.FILE.File) – shrishinde 2014-09-11 07:29:01

0

看來你正在使用。在這種情況下,您可以按照以下示例中的方式編程添加appender。

// the maximum number of bytes to write to any one file 
int limit = 5 * 1024 * 1024; 

// the number of files to use 
int count = 10;    

Handler handler = new FileHandler("/home/logs/log_test.txt", limit, count); 
Logger.getLogger("").addHandler(handler); 

您可能希望看到Where does java.util.logging.Logger store their logJava logging opening "too many" logfilesJava Logging API generating empty log files

+0

試試這個@Paul Vargas – user3264438 2014-09-11 07:42:45

+0

這不起作用。我有一個異常拋出異常:java.io.IOException:無法鎖定/home/logs/log_test.txt java.io.IOException:無法獲取/ home/logs/log_test的鎖定。 txt' – user3264438 2014-09-11 07:59:30

+0

@ user3264438請參閱http://stackoverflow.com/questions/20111525/java-io-ioexception-couldnt-get-lock-for – 2014-09-11 12:32:55

相關問題