2014-09-11 60 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

相关问题