我们平时调用JDK的log来记录日志,都会习惯拿到一个logger,
Logger logger = Logger.getLogger("xxxx");
之后调用Logger的log方法.
public void log(Level level, String msg) {
if (level.intValue() < levelValue || levelValue == offValue) {
return;
}
LogRecord lr = new LogRecord(level, msg);
doLog(lr);
}
但具体细节并没有关注过。而logger内部其实是以LogRecord来记录信息的,它是一个可序列化的类,可以在RMI的方式中传递使用。
今天在处理一个产生NullPointerException的问题。根源是我们自己的代码在记录日志时调用的logger.log()方法,但向log方法传递了一个logRecord,这个Record是自己new出来的,这样的使用的向log方法传Log级别和信息的区别在于,Logger类的doLog方法会给logRecord的loggerName等属性赋上值,
private void doLog(LogRecord lr) {
lr.setLoggerName(name);
String ebname = getEffectiveResourceBundleName();
if (ebname != null) {
lr.setResourceBundleName(ebname);
lr.setResourceBundle(findResourceBundle(ebname));
}
log(lr);
}
和我们自己new 出来的logRecord只是单纯的调用了构造方法,并没有给loggerName这些属性赋值,都是null,在后面显示日志时需要根据LoggerName来区分不同模块的信息,此时会调用loggerNmae来执行equals方法,会导致NullPointerException异常。
分享到:
相关推荐
NULL 博文链接:https://antlove.iteye.com/blog/1924832
JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11...
jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助...
mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk...
jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (win-64位) 资源共享
jdk内存设置 jdk内存设置 jdk内存设置 jdk内存设置 jdk内存设置 jdk内存设置
JDK大全 JDK1.6 JDK1.7 JDK1.8 JDK1.9 JDK10 JDK11 JDK12
JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK...
jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk配置jdk...
官网 jdk6,jdk7,jdk8,jdk9,jdk10 windox 32位、64位、linux 32位、64位 百度云。
安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装JDK安装...
java-jdk1.8-8u361-all-jdk-win-linux 该压缩包中包含jdk1.8-8u361下windows版本和linux版本,其包含快速安装包和对应的jdk压缩包版本,具体内容如下: jdk-8u361-linux-aarch64.rpm jdk-8u361-linux-i586.rpm jdk-8...
允许在 Web 应用程序部署期间启用 JDK 记录器桥接的小助手库。 请确保您了解 slf4j中描述的连接 JDK 记录器的含义。 Maven 依赖 < groupId>de.skuzzle.slf4j < artifactId>webapp-jul-to-slf4j < version>...
Linux更换JDK+weblogic更换JDK 全局更换JDK Linux更换JDK+weblogic更换JDK 全局更换JDK
jdk17和jdk1.8下载安装包
jdk-11.0.6_windowsjdk-11.0.6_windowsjdk-11.0.6_windowsjdk-11.0.6_windowsjdk-11.0.6_windowsjdk-11.0.6_windowsjdk-11.0.6_windows
jdk8jdk8jdk8jdk8jdk8jdk8jdk8jdk8jdk8jdk8jdk8jdk8jdk8jdk8jdk8jdk8jdk8jdk8安装包jdk8安装包jdk8安装包jdk8安装包jdk8安装包jdk8安装包jdk8安装包jdk8安装包jdk8安装包jdk8安装包jdk8安装包jdk8安装包jdk8安装包...
jdk8中文说明文档_CHM.zip jdk1.8文档 jdk1.8说明文档 官方直接翻译
jdk源码, jdk源码 jdk源码, jdk源码, jdk源码, jdk源码 jdk源码 jdk源码 jdk源码
JDK1.8中文文档 JDK1.8中文 jkd8中文文档 JDK中文版 标准的API规范文档,谷歌中文翻译 全翻译