`

logback 多线程 死锁

阅读更多

logback 多线程下频繁的写日志会出现死锁,可以使用异步appender避免这个问题:

	<!-- 异步写日志,用户简介专用日志 -->
	<appender name="ASYNC_USER_PROFILE_MODEL"
			  class="ch.qos.logback.classic.AsyncAppender">
		<File>${LOG_HOME}/userprofilemodel.log</File>
		<Encoding>UTF-8</Encoding>
		<!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
		<discardingThreshold >0</discardingThreshold>
		<!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
		<queueSize>512</queueSize>

		<encoder>
			<pattern>%msg%n</pattern>
		</encoder>
		<!--日志文件最大的大小 -->
		<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>50MB</maxFileSize>
		</triggeringPolicy>
	</appender>

 

分享到:
评论
6 楼 abc08010051 2017-02-06  
xubaolin9 写道
写的有问题啊,不知博主测试过没?

实际项目直接帖出来的
5 楼 xubaolin9 2016-10-12  
写的有问题啊,不知博主测试过没?
4 楼 abc08010051 2016-05-23  
zlc1094512300 写道
你说的死锁就是日志不打印了吗,我碰到过日志不打印的情况,不知道是不是死锁?


是打印日志的时候报错了
3 楼 abc08010051 2016-05-23  
i6015 写道
不好用呀,日志都不输出。


如果在windows下能正常输出,Linux下不输出,考虑log4j的jar包和logback冲突
2 楼 zlc1094512300 2016-02-25  
你说的死锁就是日志不打印了吗,我碰到过日志不打印的情况,不知道是不是死锁?
1 楼 i6015 2016-01-13  
不好用呀,日志都不输出。

相关推荐

    多线程定时并发类数据库操作日之类

    但同时,多线程也会带来诸如线程安全、死锁等问题,需要通过同步机制(如互斥锁、信号量)来解决。 2. **定时并发**:定时并发通常涉及定时任务和并发执行。例如,在Java中,可以使用ScheduledExecutorService来...

    笨馬完整性能分析与调优案例分享材料,有需要的可以下载

    循环死锁是死锁的一种特殊情况,涉及三个或更多线程。例如,在多线程环境中,如果同步方法被多个线程调用,可能导致线程等待,从而引发性能问题。通过线程分析工具,可以识别并解决这类问题,例如,修改同步代码,...

    项目报告1

    死锁发生在两个或多个并发线程互相等待对方释放资源,导致所有线程都无法继续执行的情况。 - 在服务器中,设计合理的线程模型和同步机制是防止死锁的关键。项目中,服务器的读写功能在一个线程中实现,以简化管理并...

    使用Slf4j集成Log4j2构建项目日志系统的完美解决方案.docx

    Log4j2是Log4j的升级版本,它基于LMAX Disruptor的异步日志在多线程环境下性能远远优于Log4j 1.x和logback。 本文将详细介绍如何使用Slf4j集成Log4j2构建项目日志系统的完美解决方案。 背景: 随着项目的发展,对...

    Thread_Dump_Analyzing_Tool

    - **Java多线程**:了解线程的状态(如运行、等待、阻塞等)和同步机制(如synchronized、Lock接口)。 - **Java虚拟机(JVM)**:理解JVM如何管理线程、内存和类加载。 - **死锁检测**:识别线程间的资源竞争和循环...

    JAVA服务端研发知识图谱_源码.rar

    Java提供了Thread类和Runnable接口来支持多线程,理解线程同步、死锁、线程池等概念至关重要。 4. **网络编程**:Java的Socket编程是实现网络通信的基础,通过ServerSocket和Socket类可以创建客户端和服务器端的...

    Cubic java应用诊断工具 v1.3.0-源码.zip

    - 线程分析:源码中应包含用于分析线程状态和死锁的组件,这对于找出多线程问题非常有帮助。 - 用户界面:如果Cubic提供图形界面,那么会有负责UI展示和交互的代码,可能基于Swing、JavaFX或现代Web技术(如Spring ...

    JVM调优总结与ava虚拟机:JVM高级特性与最佳实践(最新第二版)

    6. **并发与多线程**:Java的并发模型基于内存模型,包括volatile、synchronized、原子类(Atomic*)等特性,以及线程池的配置和优化。 7. **JVM参数设置**:理解并掌握-Xms, -Xmx, -XX:NewRatio, -XX:...

    并发编程1

    然而,随着并发程度的增加,会出现一系列问题,如线程安全问题(死锁、活锁、饥饿)、竞态条件、数据一致性等,这些问题需要开发者深入理解并发原理,并熟练掌握并发控制机制(如`synchronized`、`volatile`、`Lock`...

    开源阿里JVM诊断工具最新版arthas-packaging-3.6.6

    2. **线程诊断**:通过`thread`命令,可以查看和分析线程状态,找出死锁、阻塞等问题。 3. **类和方法监控**:利用`trace`命令,可以追踪特定类或方法的调用,获取详细的调用堆栈和执行时间,有助于性能瓶颈的定位...

    java做的监控应用实例

    5. **线程监控**:线程状态对于多线程应用至关重要。Java提供`ThreadMXBean`接口获取线程信息,可以查看线程的堆栈跟踪,发现死锁和阻塞。 6. **Garbage Collection监控**:垃圾收集是JVM自动管理内存的关键部分。...

    《阿里巴巴》Java开发手册

    5. **并发处理**:针对多线程环境,手册提供了关于锁、并发集合、线程池等的使用指南。强调正确使用synchronized关键字,避免死锁、活锁和饥饿现象,提倡使用并发工具类如Semaphore、CountDownLatch等进行同步控制。...

    JAVA公共资源模块的设计与开发.zip

    2. **线程安全**:对于多线程环境下使用的公共资源,必须保证其线程安全,避免竞态条件和死锁。 3. **日志规范**:制定统一的日志格式和级别,便于问题排查和性能分析。 4. **单元测试**:为公共资源模块编写详尽...

    java宾馆管理系统.zip

    12. **并发与多线程**:考虑到宾馆业务可能涉及多个并发操作,系统需要有效地管理线程,避免数据竞争和死锁。 13. **性能优化**:通过缓存技术(如Redis)、数据库索引优化、代码效率提升等手段,保证系统在高负载...

    129个Java项目源码下载 [共分20个压缩卷] 【01】.zip

    5. **多线程**:Java提供丰富的线程API,理解线程同步、互斥、死锁等概念,能有效提高程序的并发性能。 6. **设计模式**:熟悉常见的设计模式,如单例、工厂、观察者、装饰器等,它们是解决常见问题的通用解决方案...

    java软件工程师面试基本题.docx

    StringBuffer是可变对象,适合在多线程环境下进行字符串拼接。 7. **线程安全**:Java中保证线程安全的方法包括`synchronized`关键字、`volatile`变量、`java.util.concurrent`包下的工具类等。 8. **Spring的IOC...

    java后端面试题(按天复习).zip

    - **多线程**:线程的创建方式、同步机制(synchronized、Lock)、死锁、活锁和饥饿现象。 - **异常处理**:异常分类、try-catch-finally、自定义异常。 - **数据类型与数据结构**:基本类型与引用类型的区别、...

    alibbJava开发手册高清最新版.rar

    - volatile关键字的使用,确保多线程环境下的可见性和有序性。 5. **集合框架**: - 使用List、Set、Map的适用场景,了解它们的底层实现和性能差异。 - 避免对集合的无序操作,如使用ArrayList遍历元素时的删除...

    java后端开发面试题总结

    - **多线程**:线程的创建、同步、死锁,以及并发工具类如Semaphore、CyclicBarrier等。 2. **Java高级特性** - **泛型**:类型擦除、通配符、泛型方法等。 - **Lambda表达式**:函数式接口、流API及Stream操作...

Global site tag (gtag.js) - Google Analytics