最近负责一个应用,所有的日志都打入了tomcat_stdout.log里面了,由于业务打点日志太多,导致日志打入一个文件超过20G,这时候由于没有log框架里面log文件分离,当日志打满之后,刷磁盘的时候内存就吃紧,系统告警信息严重影响我们生活了,必须得查了。
应用属于WebX应用,WebX的日志系统一般是log4j或者是logback。之前是配置好的log4j日志怎么就突然不能正常打日志了呢?
首先从WebX配置的标准的log4j入手,WebX配置log4j的依赖如下:
<dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.3</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.5</version> <scope>runtime</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> <scope>runtime</scope> </dependency> </dependencies> </dependencyManagement>并且WebX系统里面需要指定日志系统,当然log4j和logback的日志框架都会配置的日志系统,但是不显式配置就容易混乱,因此要用log4j的日志格式,就必须在web.xml里面配置配置的是log4j的日志系统:
<web-app> <context-param> <param-name>logSystem</param-name> <param-value>log4j, logback</param-value> </context-param> ... </web-app>到这里,应用启动后日志已经按照log4j.xml里面的日志文件生成了,但是日志却怎么也打不出来了!!!又一次陷入困境。
但是到这里就是一个通常能遇到的问题了,就是日志系统jar包冲突,或者直接debug到打log的地方,看他们加载了哪个日志框架实例!查看系统打包的文件,发现系统的lib目录下面的包如下:
--r-- 1 admin admin 8869 08-19 21:00 slf4j-log4j12-1.7.5.jar -rw-r--r-- 1 admin admin 489884 08-19 21:00 log4j-1.2.17.jar -rw-r--r-- 1 admin admin 4463 08-19 21:00 jul-to-slf4j-1.6.1.jar -rw-r--r-- 1 admin admin 26084 08-19 21:00 slf4j-api-1.7.5.jar -rw-r--r-- 1 admin admin 16517 08-19 21:00 jcl-over-slf4j-1.7.5.jar -rw-r--r-- 1 admin admin 358085 08-19 21:00 jakarta.log4j-0.0.0.jar -rw-r--r-- 1 admin admin 391834 08-19 21:00 log4j-1.2.15.jar但是正常的log4j的配置jar包只需要:
相关推荐
最后,别忘了在Webx3的启动配置中加载Log4j的配置文件,通常是通过`-Dlog4j.configurationFile=path/to/log4j2.xml`的系统属性来指定。 总结来说,Webx3日志系统的配置涉及到日志框架的选择、配置文件的编写以及...
8. **日志与监控**:集成日志框架,如Log4j或Logback,便于调试和追踪问题。同时,Webx3 提供了性能监控工具,帮助开发者分析和优化应用性能。 9. **扩展性**:Webx3 的插件机制允许开发者轻松添加自定义功能,如...
WebX是一个基于Java的开源Web应用框架,它提供了一种高效、灵活的...参考提供的文档和资源,如《Webx配置文件加载顺序与作用.docx》、《webx基础.docx》和《表单验证webx.pptx》,将有助于进一步提升WebX的使用技能。
Webx还提供了异常处理机制和开发模式工具,以帮助开发者处理各种细节问题,并且可以通过定制WebxRootController和WebxController来进一步扩展框架功能。 WebxTurbine是Webx框架的一个子项目,其设计理念包括页面...
10. **日志记录与异常处理**:WebX 内置了日志系统和异常处理机制,便于调试和问题排查。 通过学习WebX框架,开发者可以快速掌握企业级Web应用的开发流程,提高开发效率。对于"petstore-webx3"中的PetStore应用,它...
Webx框架的基础设施服务部分是不可或缺的,它支持了资源的加载和管理。这部分内容详细介绍了资源的概念,如何表示和访问资源,以及资源的遍历。Webx使用Spring的ResourceLoader机制来装载资源,但也有其自己的...
Webx是基于Java的Web应用框架,它具有高成熟度和可靠性,并且具备强大的开放性和扩展性。Webx框架的文档详细介绍了该框架的设计理念、历史、优势以及与Spring框架的集成等方面。文档内容主要分为两大部分:Webx框架...
- **剪裁和定制Webx**:Webx框架允许开发者根据具体项目需求对框架进行裁剪和定制,这意味着可以去除不必要的组件或添加特定功能,从而进一步优化性能。 **1.3 本章总结** 通过上述介绍可以看出,Webx框架的核心...
- **初始化日志系统**:配置日志框架(如Log4j),记录运行时的信息。 ##### 3.2 Webx响应请求 - **增强request、response、session的功能**:通过对这些对象的封装,提高了操作的便捷性和安全性。 - **Pipeline...
4. **会话(Session)**:Webx支持会话管理,允许开发者在用户的不同请求之间存储和共享信息。这有助于实现用户登录、购物车等需要保持状态的功能。 5. **配置(Configuration)**:Webx的配置文件用于定义框架的...
通过深入学习WEBX框架,开发者可以更好地理解和实践淘宝的开发流程,从而在实际工作中更快速地适应和产出。 **1. WEBX框架的核心特性** WEBX框架的核心特性包括模块化、面向服务的设计、灵活的数据访问层以及强大...
- **初始化**:Webx3.0的初始化主要由`WebxContextLoaderListener`完成,它负责加载配置文件,并初始化日志系统。 - **执行流程**:请求处理过程通过Pipeline来管理,包括URI解析、请求上下文处理等多个环节,确保了...
WebX支持声明式和编程式的事务管理,可以轻松处理多数据库操作的事务一致性问题。 10. **示例程序详解**: 提供的“test”文件可能包含了一个简单的WebX示例程序,包括控制器、模型、视图和配置文件等。通过分析...
4. **Webx工具使用**:介绍与Webx配合使用的工具或插件,如调试工具、性能分析工具,以及它们如何提升开发效率。 5. **实战经验分享**:分享使用Webx开发项目的实践经验,包括遇到的问题、解决方案以及最佳实践。 ...
WEBX是阿里巴巴的内部框架,“就是把页面与Service层之间的一些Servlet等公共的东西抽象出来,提供相应的服务以提高开发效率(《接口测试之Webx简介》—何晓峰 )”,可以看出,webx和传统的servlet-action模式的...
本压缩包包含了WebX3学习的示例和一个简单的留言板应用,这对于初学者理解WebX3的工作原理和开发流程非常有帮助。 首先,`message_board.sql` 文件很可能是用于创建留言板数据库结构的SQL脚本。在Web应用开发中,...
llerServlet 是 Webx 框架的核心组件,它负责处理所有以 .htm 和 .do 结尾的请求。...对于初学者来说,理解 Webx 的核心概念,如 ControllerServlet 和服务配置,是进一步学习和使用 Webx 的关键。
当这些Car被组合成Petstore.war时,它们的目录结构会合并到一起,形成一个完整的Web应用程序结构,包括各个子模块如home、user、store和admin,每个子模块可能有自己的配置文件(webx.xml)和类库(classes)。...
Eclipse是一个广泛使用的Java集成开发环境(IDE),而这里的"webx-springExt整合eclipse插件"是为了在Eclipse中支持Webx-SpringExt项目的开发而设计的,使得开发者可以更方便地进行代码编写、调试和管理。...