我需要在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
答案 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)
似乎您正在使用java.util.logging。在这种情况下,您可以以编程方式添加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 log,Java logging opening "too many" logfiles和Java Logging API generating empty log files