Java的流读一行丢一行_java – 在少数特定情况下记录丢失的消息
我正在使用
java.util.logging来完成我的应用程序的所有日志记录.
直到最近,我在没有任何特定配置的情况下使用日志工具.一切都按预期工作,所有日志都在控制台中可见(stderr)
现在,我想自定义日志的配置.我希望日志显示在控制台上,但我希望它们也可以写在文件中.我提出了以下解决方案:
public static void main(String[] args) {
System.setProperty("java.util.logging.config.file","log.config");
Logger defLogger = Logger.getLogger("fr.def"); // all loggers I use begin by "fr.def"
defLogger.setLevel(Level.ALL);
defLogger.addHandler(new ConsoleHandler());
defLogger.addHandler(new FileHandler());
// real code here ...
以下是log.config文件的内容:
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.count=10
java.util.logging.FileHandler.pattern=logs/visiodef2.%g.log
这个解决方案大部分都有效:我可以在控制台和文件中看到日志.除此之外,在某些情况下,一些日志消息只是丢失(对于控制台和文件).日志丢失的情况示例:
>在JVM的关闭挂钩上
>在默认的未捕获异常处理程序上
>在EDT的异常处理程序上
>在主JFrame的windowClosing事件上(使用默认关闭操作EXIT_ON_CLOSE配置)
除了上面描述的之外,没有其他配置.不涉及日志级别:我可以看到一些INFO日志,但有些丢失的日志是严重的.
我还尝试添加一个关闭钩子来刷新所有处理程序,但没有成功.
所以,问题是:按照我的方式配置日志记录是否安全?你能看出为什么有些日志会丢失的原因吗?
Java的流读一行丢一行_java – 在少数特定情况下记录丢失的消息相关推荐
- java字符流和字节流的区别_java字符流与字节流的区别是什么
java中字符流与字节流的区别: 1.字节流操作的基本单元为字节:字符流操作的基本单元为Unicode码元. 2.字节流默认不使用缓冲区:字符流使用缓冲区. 3.字节流通常用于处理二进制数据,实际上它 ...
- java模拟浏览器不关闭会话_JSP实现浏览器关闭cookies情况下的会话管理
通常,会话管理是通过服务器将 Session ID 作为一个 cookie 存储在用户的 Web 浏览器中来唯一标识每个用户会话.如果浏览器不支持 cookies,或者将浏览器设置为不接受 cooki ...
- Java中如何在窗口加一行字,如何在java中实现读文件(一行一行地读)和写文件(一行一行地追加写)...
BufferedReader.readline(); BufferedWriter.write(); BufferedWriter.newLine(); 写: FileWriter fw=new ...
- java多线程流式写入文件夹_java多线程写入同一文件
1.[代码][Java]代码 package com.thread; import java.io.File; import java.io.FileNotFoundException; import ...
- java的流传输的进度条_JAVA程序设计(17)----- 制作文件拷贝软件 进程 输入流输出流 NIO 进度条 底层拷贝 多线程...
使用NIO对文件进行底层拷贝(按照字节)多线程技术初级应用 不阻塞程序运行 package com.lovo.homework01; import java.awt.event.ActionEvent ...
- java扫描文件夹所有的文件_java 扫描文件夹所有下文件
import java.io.File; /** * *自动扫描文件夹下的文件 *用途:自动扫描脚本输入路径,输出要执行的sql导入数据库: */ public class OutSql { /** ...
- Java前后端分离第三方登录_网站前后端分离情况下如何实现QQ微信等第三方登陆-Fun言...
前言 最近在弄第三方登录,实现起来很简单,就是调几个接口获取个人信息即可,详细了解:maven项目整合QQauth2.0第三方登录详细说明,然后因为本网站是前后端分离的,所以不能再回调接口那里直接跳转 ...
- Java的长整型Long/long后面的数字什么情况下必须加L?
[1] 问题的由来 在日常开发中,实体类需要序列化,一般写法如下: public class User implements java.io.Serializable {private stati ...
- java启动无线网络连接_在无线模式存在的情况下,如何连接无线网络
我使用下面的代码在android手机上创建一个无线模式.出于某种原因它每次都会创建一个新模式,因此对于相同的无线网络手机将会有多个模式.是否有办法能实现当一个模式已经存在时,就不要再创建一个新的模式? ...
最新文章
- 深度学习如何提高训练集准确率_吴恩达深度学习笔记(61)-训练调参中的准确率和召回率...
- OpenSolaris北京用户组的第一次活动
- c++ 多核cpu序列号_详解CPU几个重点基础知识
- [Asp.Net Core] Blazor Server Side 项目实践 - 切换页面时保留状态
- python文字识别 训练_Python3.x:pytesseract识别率提高(样本训练)
- 利用java反射原理写了一个简单赋值和取值通用类【改】
- 计算机名汉字 oracle,修改计算机名对ORACLE的影像
- MAC编译freetype
- sql server2008 如何获取上月、上周、昨天、今天、本周、本月的查询周期(通过存储过程)...
- html标签asp/,HTML标签及ASP函数速查表
- STC学习:光敏计数
- 程序猿应该拥有的浏览器
- python写入文件
- 读《IPD华为研发之道》笔记
- Embedding Projector
- 清华大学计算机系黄子懿,清华大学2014年自主招生名单:(北京市)(一)
- IPv6安装及使用手册
- 抛物线公式即辛卜生(Simpson)公式的数值积分的Python程序
- HTML5在vivo手机适配问题
- 小白学Linux笔记(一)——安装虚拟机和Ubuntu