java 日志技术汇总(log4j , Commons-logging,.....)
前言
在Tomcat 与weblogic 中的 日志(log4j) 配置系列一
在系列一 中, 有一个问题一直没有解决,就是部署到weblogic 中应用程序如何通过log4j写日志到文件中?
这里仅仅使用log4j, 而不使用 commons-logging, 关于log4j 和commons-logging的区别和关联,请参考
一个web 项目实例
这个实例很简单,就是定义一个servlet, 用来写日志
1. 使用eclipse 创建一个动态web 项目, 导入log4j.jar 包
2. 创建一个servlet 类
/**
* @author oscar999
* @date 2013-7-31
* @version V1.0
*/
package com.oscar999; import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator; public class LogServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void service(HttpServletRequest req, HttpServletResponse res) { testLog4j();
try {
PrintWriter out = res.getWriter();
out.println("<Hr><h1>Please check the Logs Are generated in .log or Not .....");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public void testLog4j() {
Logger log = Logger.getLogger(LogServlet.class);
PropertyConfigurator.configure("log4j.properties");
log.debug("Debug info.");
log.info("Info info");
log.warn("Warn info");
log.error("Error info");
log.fatal("Fatal info");
} }
3. 在web.xml 中添加servlet 配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>logTestApp</display-name> <servlet>
<servlet-name>LogServlet</servlet-name>
<servlet-class>com.oscar999.LogServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>LogServlet</servlet-name>
<url-pattern>/logServlet</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
4. 编写一个 log4j.properties 文件
log4j.rootLogger=debug,stdout,logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=logfile.log
log4j.appender.logfile.MaxFileSize=512KB
log4j.appender.logfile.MaxBackupIndex=3
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
5. 把log4j.properties文件放入 user_projects\domains\base_domain 下。(base_domain是这里使用的domain name, 如果domain name 不一样,应该知道要怎么做了)
因为上面servlet 中,读取log4j 的配置是 PropertyConfigurator.configure("log4j.properties");
这样就直接到 base_domain的路径下去找log4j.properties。
在log4j.properties配置产生的日志文件 logfile.log默认也会放到 base_domain目录下,
也可以修改, 建议是可以放到 “base_domain\servers\AdminServer\logs” 这个目录下。
6. 接下来通过 http://localhost:8080/appname/servletname
访问就可以了
java 日志技术汇总(log4j , Commons-logging,.....)的更多相关文章
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
学习架构探险,从零开始写Java Web框架时,在学习到springAOP时遇到一个异常: "C:\Program Files\Java\jdk1.7.0_40\bin\java" ...
- Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
1.错误叙述性说明 2014-7-12 0:38:57 org.apache.catalina.core.ApplicationContext log 信息: No Spring WebApplica ...
- java.lang.ClassNotFoundException: org.apache.commons.logging.Log
严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalin ...
- java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory解决方案
导入commons-logging-1.2.jar辅助类包即可. 报错提示: Exception in thread "main" java.lang.NoClassDefFoun ...
- IntellJ IDEA javax.servlet.ServletException 找不到javax.servlet.ServletException的类 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
误状态:错误显示 解决: (1)说明缺少包---->添加如下包配置 <dependency> <groupId>javax.servlet.jsp</groupId ...
- 【java web】Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
javaweb报错如下:22:49:22.155 [http-nio-8081-exec-9] ERROR org.apache.struts2.dispatcher.DefaultDispatche ...
- java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.commons.dbcp2.Ba ...
- Java日志框架 (commons-logging,log4j,slf4j,logback)
转自:http://blog.csdn.net/kobejayandy/article/details/17335407 如果对于commons-loging.log4j.slf4j.LogBack等 ...
- Java学习笔记(十九)——Java 日志记录 AND log4j
[前面的话] 学习的进度应该稍微在快一点. Java日志到了必须学习怎么使用的时候了,因为在项目中要进行使用.基础性文章,选择性阅读. [结构] java日志对调试,记录运行,问题定位都起到了很重要的 ...
随机推荐
- 1007: [HNOI2008]水平可见直线
先对a排序,a相等的话就对b排序: 维护一个栈,每次取栈的头两个,和当前的直线相比较: 如果当前的直线把头第一个屏蔽,就将他出栈,一直到不能屏蔽为止: 代码: #include<cstdio&g ...
- Firefly官方教程之Netconnect使用文档
1.distributed说明该模块包含了服务端与客户端通信的一些处理方法,包括发送数据的封装,协议头的封装,tcp通信时进行分包,处理粘包问题.2.结构解析 LiberateFactory,协议工厂 ...
- POJ 2531 Network Saboteur
http://poj.org/problem?id=2531 题意 :有N台电脑,每两台电脑之间都有个通信量C[i][j]; 问如何将其分成两个子网,能使得子网之间的通信量最大. 也就是说将所有节点分 ...
- [状压dp]HDU5045 Contest
题意: n和人做m道题, 每俩人做的题数不能相差一题以上.(也就是每n道题分别由n个人完成) 给n个人分别做m道题的概率, 求完成m题的最大期望 $1\le N \le 10$ 注意!!! fil ...
- 两个表,一个表中的两列关联另一个表的id,如何将这个表中的两列显示为另一个表id对应的内容
表A name user owner machine1 1 2 machine2 3 4 表B userid username 1 aaa 2 bbb 3 ccc 4 ddd 以上两个表,表A 设备的 ...
- 未来 USB Type-C 将可靠软体判断线材是否符合规定
USB Type-C 插头允许通过的电流和功率比过去常见的 USB 规范要大得多,因此从市面上「随便买一条」USB Type-C 的充电线的危险也同样大得多,毕竟不是所有的线材能承受的电流都一样,万一 ...
- 【大话QT之十】实现FTP断点续传(需要设置ftp服务器为“PASV”被动接收方式)
应用需求: 网盘开发工作逐步进入各部分的整合阶段,当用户在客户端修改或新增加一个文件时,该文件要同步上传到服务器端对应的用户目录下,因此针对数据传输(即:上传.下载)这一块现在既定了三种传输方式,即: ...
- mysql联合索引
命名规则:表名_字段名1.需要加索引的字段,要在where条件中2.数据量少的字段不需要加索引3.如果where条件中是OR关系,加索引不起作用4.符合最左原则 https://segmentfaul ...
- linux下 修改配置文件的命令
vi或vim 进入后,按i,屏幕下方会出现INSERT字样,此时可以修改内容 按ESC,退回命令模式 :x是保存退出 :q!是不保存退出
- TigerLeapMC V1.3 for Windows(支持DLNA)
TigerLeapMC V1.3 2014-04-10: 1.更新tlplayer TigerLeapMC是基于tlplayer作为播放器的集成DLNA,(DMS,DMR,DMP)等,支持各种网络播放 ...