【发布时间】:2015-08-17 04:44:08
【问题描述】:
我有一个使用 JDBC 执行工作的多线程 Java 7 程序(一个 jar 文件)(它使用一个固定的线程池)。
程序运行良好,它会在从多个并发线程进入命令 shell 控制台窗口 (System.out.printf()) 时记录内容。
除了控制台输出之外,我还需要为该程序添加从多个线程写入单个纯 ASCII 文本日志文件的功能。
输出量小,文件会比较小,因为是日志文件,不是数据文件。
您能否建议一个好的且相对简单的设计/方法来使用 Java 7 功能(我还没有 Java 8)来完成这项工作?
任何代码示例也将不胜感激。
非常感谢
编辑:
我忘了补充:在 Java 7 中使用 Files.newOutputStream() 静态工厂方法被声明为线程安全的 - 根据官方 Java 文档。这是从多个线程写入单个共享文本日志文件的最简单选项吗?
【问题讨论】:
-
为什么不使用像 slf4j slf4j.org/manual.html 这样的标准日志 API?
-
否则,如果您只想坚持使用 jdk api,请参阅:stackoverflow.com/questions/5950557/…
-
忘记补充:在 Java 7 中使用 Files.newOutputStream() 静态工厂方法被声明为线程安全的 - 根据官方 Java 文档。这是从多个线程写入单个共享文本日志文件的最佳选择吗?
-
写代码的请求?
标签: java multithreading file java-7