`
fxrz12
  • 浏览: 24273 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

log4j 与序列化出现的问题

阅读更多

当log4j遇上序列化的时候,会无意中报错,

例如:这位外国仁兄的询问

How to fix java.io.NotSerializableException: org.apache.log4j.Logger Error in Java

嗯,很对!也就是说java.io.NotSerializableException: org.apache.log4j.Logger error 

org.apache.lo4j.Logger 不能序列化,问题出现的原因是,序列化的类用上了log4j没有申明静态的实例logger

出错代码:

public class Customer implements Serializable{
private Logger logger =   Logger.getLogger(Customer.class)
}
修正代码:
public class Customer implements Serializable{
private static final Logger logger =   Logger.getLogger(Customer.class)
 
}
 
原因【答案本身来自外文,这里就摘了吧】:
 because here logger instance is neither static or transient and it doesn't implement Serializable or Externalzable interface.
Solving java.io.NotSerializableException: org.apache.log4j.Logger   is simple, you have to prevent logger instance from default serializabtion process, either make it transient or static . Making it static final is preferred option due to many reason because if you make it transient than after deserialization logger instance will be null and any logger.debug() call will result in NullPointerException in Javabecause neither constructor not instance initializer block is called during deserialization. By making it static and final you ensure that its thread-safe and all instance of Customerclass can share same logger instance, By the way this error is also one of the reasonWhy Logger should be declared static and final in Java program .

 log4j路径的控制: $CATALINA_HOME/logs/

 

分享到:
评论

相关推荐

    log4j返序列化源码分析

    log4j返序列化源码分析

    Apache Log4j反序列化命令执行漏洞

    vulhub靶机里的这个漏洞里缺少了curl或者wget这些命令

    java反序列化验证工具

    可以对Java反序列化漏洞进行验证,是针对weblogic中间件的很好用的工具。

    CVE-2019-17571:Apache Log4j 1.2.X存在反序列化远程代码执行漏洞

    在Log4j 1.2.X中包含一个SocketServer类,该类很容易对不可信数据进行反序列化,当侦听日志数据的不可信网络流量时,与反序列化小工具结合使用时,可以利用该类远程执行任意代码.影响包含目前最新版本. 2. 漏洞危害 高危...

    DownLloader java Thread 断电下载 线程池 log4j 03

    多线程断点续载下载,断电下载日志恢复,正则表达式,线程池使用,对象序列化,log4j日志

    DownLloader java Thread 断电下载 线程池 log4j 05

    程序暂涉及范围:多线程断点续载下载,断电下载日志恢复,正则表达式,线程池使用,对象序列化,log4j日志 YiDownLoader为下载程序入口 RegExpressionUtil为正则表达式入口 其余的自己看; 该程序还有其他的模块,...

    FastjsonScan:一个简单的Fastjson反序列化检测burp插件

    FastjsonScan一个简单的Fastjson反序列化检测burp插件我在挖洞的时候看到一些json请求总是想要检测一下有没有Fastjson反序列化问题,本可以直接写一个脚本来跑或者搭配其他被动扫描器来验证,但是我太懒了,先不说...

    log4Net详解(共2讲)

    3、序列化/反序列化+泛型集合的应用 4、利用ASP.net HttpHandler实现防盗链 5、网站安全性方面:ASP.net防SQL注入及Web Service Soap头加密技术 6、ASP.net母板页 7、网站性能解析:大型网站优化解决方案 8、Linq...

    JNDI-Inject-Exploit

    > 本工具用于解决 Fastjson、log4j2、原生JNDI注入等场景中针对高版本JDK无法加载远程恶意类,通过LDAP服务器返回原生Java反序列化数据,受害者(客户端)在具备反序列化Gadget依赖的情况下可达到命令执行、代码执行...

    extract-object:从可序列化对象中提取文本令牌

    提取对象从可序列化对象中提取文本令牌。 npm install extract-objectextract(obj,[令牌]) 从可序列化的obj提取文本令牌,还可以将数组tokens作为参考传递。 var extract = require ( 'extract-object' )console ...

    大学生毕设+基于SpringBoot和Layui、Mybatis带GUI界面+仿BOSS直聘招聘网站系统(前后端源码+数据库)

    |log4j2|2.11.2|更快的log日志工具| |fst|2.57|更快的序列化和反序列化工具| |orika|1.5.4|更快的bean复制工具| |lombok|1.18.8|简化对象封装工具| |hutool|4.5.0|更适合国人的java工具集| |swagger-bootstrap|1.9.3...

    mybatis结合redis的配置文件及工具类

    jedis工具类、序列化和反序列化工具类、自定义工具类获取SqlSessionFactory、mybatis-config.xml、log4j.properties、redis.properties

    ysoserial-0.0.6-SNAPSHOT-all 工具

    Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。 反序列化漏洞都能用

    spring mvc后台管理系统

    简单后台管理系统 基于maven管理,整合最新spring mvc 4.3.3.RELEASE版整合了mybatis 3.4.1,涵盖了目前互联网web系统最流行的组件,log4j2日志、freemarker模板、protostuff序列化、fastjson、redis、spring-data-...

    大学生毕设+基于SpringBoot和Vue、MyBatis带GUI界面+云音乐管理系统(前后端源码+数据库+环境搭建步骤)

    软件架构 - java后台:music-server - 用户前台:music-client - 管理员前台:music-manage 前端采用的是基于VUE的ElmentUI框架开发,后端是...| log4j2 | 2.11.2 | 更快的log日志工具 | | fst| 2.57 | 更快的序列化

    Java NIO+多线程实现聊天室

    log4j+slf4j日志 实现的功能 登录注销 单聊 群聊 客户端提交任务,下载图片并显示 上线下线公告 在线用户记录 批量下载豆瓣电影的图片,并打成压缩包传输给客户端 客户端使用方式: 登录:默认用户名是user1-user5...

    OA高危漏洞利用工具v1.2.0

    全部是命令执行、文件上传类的漏洞,包括前台和后台,未编写log4j、fastjson相关漏洞。 2023/6/28 新增用友畅捷通T+SQL注入 新增致远帆软报表文件读取-bypass 新增泛微eoffice uploadify上传 新增php-framework和...

    廖雪峰 Java 教程.doc

    序列化 Reader Writer PrintStream和PrintWriter 日期与时间 基本概念 Date和Calendar LocalDateTime ZonedDateTime DateTimeFormatter Instant 最佳实践 单元测试 编写JUnit测试 使用Fixture 异常...

    Logstash windows下实战

    windows环境 logstash实战 192.168.196.58/...(windows8):Logstash : Shipper 192.168.1.192(windows7):Redis : Broker 192.168.196.154(windows7):Lostash : Indexer, ...日志文件收集,log4j配置结合,redis序列化

    bank_web_application:Java,Spring MVC,Oracle

    bank_web_application Java,Spring MVC,Oracle技术领域Tomcat 8.0.21 Web... Log4j 1.2.17,用于记录系统中的所有操作Sitemesh 3.0-alpha-2用于将视图(jsp页面)拆分为多个组件。对于客户: 对于员工: 对于管理员:

Global site tag (gtag.js) - Google Analytics