【问题标题】:How to save log output in a file in linux如何在linux中将日志输出保存在文件中
【发布时间】:2014-09-11 07:04:51
【问题描述】:

我需要在我们的 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

【问题讨论】:

  • 使用 Log4J 之类的日志框架。
  • 在您的 java 程序中使用输出重定向运算符。例如your_java_prog_binary > /home/logs.txt
  • 嗨@AbimaranKugathasan,你有示例代码吗?谢谢!

标签: java linux eclipse logging


【解决方案1】:

你可以使用类似下面的类,

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

【讨论】:

  • 我编辑了我的问题并添加了一些代码。我需要一个将其保存到我们的 linux 服务器的代码
  • 就log4j而言,你必须在配置文件(log4j.properties)中为文件名和路径指定key(log4j.appender.FILE.File)
【解决方案2】:

您似乎正在使用。在这种情况下,您可以按照以下示例以编程方式添加附加程序。

// 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

【讨论】:

  • 我要试试这个@Paul Vargas
  • 它不工作。我有一个例外Exception thrown: java.io.IOException: Couldn't get lock for /home/logs/log_test.txt java.io.IOException: Couldn't get lock for /home/logs/log_test.txt
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-08
  • 2021-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-19
  • 1970-01-01
相关资源
最近更新 更多