如何在linux中的文件中保存日志输出

时间:2014-09-11 07:04:52

标签: java linux eclipse logging

我需要在linux服务器上创建一个可访问的日志文件。 java程序用于创建日志。

在我的控制台中

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 我该怎么办?

谢谢你

修改

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服务器中的/home/logs/log.txt

2 个答案:

答案 0 :(得分:2)

您可以使用类似下面的课程

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");
    }
}

答案 1 :(得分: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