log4j.properties怎么写

1. 如何编写log4j.properties文件,配置日志信息

第一步:在工程中加入log4j所使用的jar文件

1:项目 >; 属性 :弹出项目的属性窗口

2:Java构建路径>;?库>;?添加外部JAR:弹出选择JAR的窗口

3:通过选择JAR的窗口,找到log4j-1.2.x.jar,并确认

4:回到项目的属性窗口,点击确定

第二步:创建log4j.properties文件

1:选择欲使用log4j的项目>;?右键点击src >;?新建>;?其他 :弹出选择向导窗口

2:在选择向导窗口中,选择常规?>; 文件?>; 下一步:弹出新建文件的窗口

3:在新建文件窗口中,输入文件名log4j.properties ? 完成:创建工作结束

第三步:使用log4j记录日志信息

import org.apache.log4j.Logger;

public class Log4j {

public static void main(String[] args) {

Logger logger = Logger.getLogger(AccpTeacherLog4j.class.getName());//获取日志记录器,这个记录器将负责控制日志信息

try {

logger.debug("设置教员的编号。");//使用Logger对象的debug、info方法输出日志信息

} catch (IllegalArgumentException ex) {

logger.info(ex.getMessage());//使用Logger对象的debug、info方法输出日志信息

}

}

}

第四步:编写log4j.properties文件,配置日志信息

### 把日志信息输出到控制台 ###

log4j.appender.stdout=org.apache.log4j.ConsoleAppender//日志信息将写到控制台

log4j.appender.stdout.Target=System.out//信息打印到System.out上

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n//指定输出格式:显示日期和log信息

### 把日志信息输出到文件:accp.log ###

log4j.appender.file=org.apache.log4j.FileAppender//日志信息将写到文件中

log4j.appender.file.File=accp.log//指定日志输出的文件名

log4j.appender.file.layout=org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n//指定输出格式:显示日期,日志发生位置和日志信息

### 设置优先级别、以及输出源 ###

log4j.rootLogger=debug, stdout, file//设置优先级别为debug、

日志被输出到多个输出源

注:优先级从高到低分别是ERROR、WARN、INFO、DEBUG

在此处,如果优先级别设为info,那么使用debug方法打印的日志信息将不被输出

2. log4j.properties 的作用是什么

一、log4j.properties 作用 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。

最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 此外,通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言 分布式系统得到一个统一一致的日志组件模块。

而且,通过使用各种第三方扩展,您可以很方便地将Log4j集成到J2EE、JINI甚至是SNMP应用中。(转自:) 二、log4j.properties 使用方法.参数意义说明:输出级别的种类 ERROR、WARN、INFO、DEBUG ERROR 为严重错误 主要是程序的错误 WARN 为一般警告,比如session丢失 INFO 为一般要显示的信息,比如登录登出 DEBUG 为程序的调试信息 配置日志信息输出目的地 log4j.appender.appenderName = fully.qualified.name.of.appender.class1.org.apache.log4j.ConsoleAppender(控制台)2.org.apache.log4j.FileAppender(文件)3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) 配置日志信息的格式 log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),2.org.apache.log4j.PatternLayout(可以灵活地指定布局模式),3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),4.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息) 控制台选项 Threshold=DEBUG:指定日志消息的输出最低层次。

ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。Target=System.err:默认情况下是:System.out,指定输出控制台 FileAppender 选项 Threshold=DEBUF:指定日志消息的输出最低层次。

ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。File=mylog.txt:指定消息输出到mylog.txt文件。

Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。RollingFileAppender 选项 Threshold=DEBUG:指定日志消息的输出最低层次。

ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。File=mylog.txt:指定消息输出到mylog.txt文件。

Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。

MaxBackupIndex=2:指定可以产生的滚动文件的最大数。log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n 日志信息格式中几个符号所代表的含义: -X号: X信息输出时左对齐; %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL, %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 %r: 输出自应用启动到输出该log信息耗费的毫秒数 %c: 输出日志信息所属的类目,通常就是所在类的全名 %t: 输出产生该日志事件的线程名 %l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。

举例:Testlog4.main (TestLog4.java:10) %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 %%: 输出一个"%"字符 %F: 输出日志消息产生时所在的文件名称 %L: 输出代码中的行号 %m: 输出代码中指定的消息,产生的日志具体信息 %n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行 可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。

如: 1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。 2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。

3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。 4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边较远输出的字符截掉。

三、常用配置Demo# DEBUG # Global logging configuration log4j.rootLogger=。

3. log4j的配置文件properties应该放在什么地方

自动加载配置文件:

(1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。然后加载配置。配置文件放置位置正确,不用在程序中手动加载log4j配置文件。如果将配置文件放到了config文件夹下,在build Path中设置下就好了。

若要手动加载配置文件如下:

(1)PropertyConfigurator.configure("log4j.properties") 默认读取的是项目根目录的路径。此时的log4j.properties要放在项目目录下。

如图,log4j.properties和src是同级目录,同在根目录下

(2)一般,一个java项目会有很多的配置文件,建议把所有的配置文件放到一个文件夹下,

例如,放到config文件夹。那么在读取这些配置文件的时候要加上子目录名称。

如图在项目目录下创建config文件夹(注意:不是在src文件下),此时,config和src是同级目录

这时,读取路径改为:

PropertyConfigurator.configure("config/log4j.properties");

(3):如果不手动设置,不用人为的写加载log.properties文件的代码时,直接放src目录下,千万要记得,如果新建一个JAVA项目,src文件要弄成原文件包才行

我就是用的这个

(4)项目打成jar包时,一般不会把配置文件也打进jar包。

如果是第一种方式,直接将log4j.properties文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。

如果是第二种方式,要建立config文件夹,把配置文件放入其中,再将config文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。

4. 如何创建log4j.properties

File---->new---->File----->log4j.properties----->

复制下面的代码,保存在log4j.properties的Source里

# Root Logger

log4j.rootLogger=DEBUG,console,file

#\u81EA\u5B9A\u4E49\u65E5\u5FD7\u8BB0\u5F55\u5668\uFF08\u533A\u5206\u5927\u5C0F\u5199\uFF09

#\u5BF9\u6307\u5B9A\u547D\u540D\u7A7A\u95F4\u4E2D\u7684\u8BED\u53E5\u8FDB\u884C\u65E5\u5FD7\u8BB0\u5F55

#log4j.logger.com.company.mybatisdemo.dao.MyadminDAO=DBUG

#\u5BF9\u6307\u5B9A\u8BED\u53E5\u8FDB\u884C\u65E5\u5FD7\u8BB0\u5F55

#log4j.logger.com.company.mybatisdemo.dao.MyadminDAO.get=DBUG

log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.layout=org.apache.log4j.PatternLayout

log4j.appender.console.layout.ConversionPattern=%5p [%t] - %m%n

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender

log4j.appender.file.File=log.html

log4j.appender.file.layout=org.apache.log4j.HTMLLayout

5. log4j.properties文件是否可以生成

就我而言,到目前为止还没有发现可以自动生成log4j.properties的方法。因为log4j.properties看似很多,其实学懂了理解起来并不难,甚至比用什么工具生成还要简单,手写log4j.properties无非就是copy+更改而已。

所以先是建议你去学习一下log4j.properties配置文件,然后给你一个通用的配置文件(是把信息输出到控制台的),等你看懂了在这个基础上增加

log4j.rootLogger=INFO, console

log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.

log4j.appender.console.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

6. properties文件怎么写

InputStream in = 类名.class.getClassLoader().getResourceAsStream("propertes名字.properties");

Properties prop = new Properties();

prop.load(in)

oracleDb_Driver = prop.getProperty("oracleDb_Driver-properties里面的字段");

7. 如何在log4j.properties文件中使用相对路径

log4j是一个应用非常广泛的Java日志组件。

我们可以方便的借助它将日志信息输出到控制台、文件、数据库等甚至可以通过扩展以流的方式输出到任何存储媒介中。本文要解决的问题:如何在log4j.properties文件中使用相对路径?缺省情况下我们只能在log4j.properties中配置绝对路径。

这样以来,我们在系统部署、开放环境移植等环节就会带来很大的不便,需要将路径改来改去。因此,我们可以使用下面的办法来实现在log4j.properties中使用相对路径:1、实现一个Servlet/** * Log4J初始化* @author XiongChun * @since 2011-04-26 */ public class Log4jInitServlet extends HttpServlet {/*** Servlet初始化*/ public void init(ServletConfig config) throws ServletException { String root = config.getServletContext().getRealPath("/"); String log4jLocation = config.getInitParameter("log4jLocation"); System.setProperty("webRoot", root); if (G4Utils.isNotEmpty(log4jLocation)) { PropertyConfigurator.configure(root + log4jLocation); } } }2、web.xml加载这个servlet<!-- 配置Log4j --> log4jInit org.eredlab.g4.rif.util.Log4jInitServlet log4jLocation WEB-INF/classes/log4j.properties 0 3、此时在log4j.properties中就可以使用相对路径了,如下:#Rlogfile log4j.appender.Rlogfile=org.apache.log4j.RollingFileAppender log4j.appender.Rlogfile.layout=org.apache.log4j.PatternLayout log4j.appender.Rlogfile.layout.ConversionPattern=%d %p [%c] - <%m>%n log4j.appender.Rlogfile.File=${webRoot}/logs/eRedG4.log log4j.appender.Rlogfile.MaxFileSize=2048KB log4j.appender.Rlogfile.MaxBackupIndex=10 批注:写完才发现,其实这种方式用的也是绝对路径,只不过是用动态获取绝对路径的方法来达到类似相对路径的效果了。

8. log4j2.xml怎么调用properties

自动加载配置文件:

(1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。然后加载配置。配置文件放置位置正确,不用在程序中手动加载log4j配置文件。如果将配置文件放到了config文件夹下,在build Path中设置下就好了。

若要手动加载配置文件如下:

(1)PropertyConfigurator.configure("log4j.properties") 默认读取的是项目根目录的路径。此时的log4j.properties要放在项目目录下。

如图,log4j.properties和src是同级目录,同在根目录下

(2)一般,一个java项目会有很多的配置文件,建议把所有的配置文件放到一个文件夹下,

例如,放到config文件夹。那么在读取这些配置文件的时候要加上子目录名称。

如图在项目目录下创建config文件夹(注意:不是在src文件下),此时,config和src是同级目录

这时,读取路径改为:

PropertyConfigurator.configure("config/log4j.properties");

(3):如果不手动设置,不用人为的写加载log.properties文件的代码时,直接放src目录下,千万要记得,如果新建一个JAVA项目,src文件要弄成原文件包才行

我就是用的这个

(4)项目打成jar包时,一般不会把配置文件也打进jar包。

如果是第一种方式,直接将log4j.properties文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。

如果是第二种方式,要建立config文件夹,把配置文件放入其中,再将config文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。

9. log4j.properties 放在哪

我原来通常都是把 log4j.properties放在WEB-INF目录下, web.xml相应的定义为: log4jConfigLocation /WEB-INF/log4j.properties org.springframework.web.util.Log4jConfigListener 这个设置对于该web app没有任何问题。

但是如果你要进行JUnit Test,在运行TestCase时,就会发生错误:log4j:WARN No appenders could be found for logger log4j:WARN Please initialize the log4j system properly.那是因为在classpath里找不到log4j.properties,因此我把log4j.properties改放在WEB-INF/classes目录下,web.xml相应的定义改为: log4jConfigLocation /WEB-INF/classes/log4j.properties 这样运行Junit时也会正常。

log4j.properties怎么写

转载请注明出处育才学习网 » log4j.properties怎么写

知识

杉字的繁体字怎么写

阅读(163)

本文主要为您介绍杉字的繁体字怎么写,内容包括杉的繁体字怎么写,杉繁体字怎么写,杉的繁体字怎么写。14.王维《九月九日忆山东兄弟》:独在异乡为异客,每逢佳节倍思亲。遥知兄弟登高处,遍插茱萸少一人。15.李白《静夜思》:床前明月光,疑是

知识

Kuo松的kuo怎么写

阅读(338)

本文主要为您介绍Kuo松的kuo怎么写,内容包括kuolue怎么写,那个”怎么读“na”个“nai”哥,陈庚的写青松的诗。这里的“那”读作:nà那拼音:nà nǎ nèi nā,注音:ㄋㄚˋ ㄋㄚˇ ㄋㄟˋ ㄋㄚ,简体部首:阝部,部外笔画:4画总笔画:6画,

知识

搜索框的js代码怎么写

阅读(182)

本文主要为您介绍搜索框的js代码怎么写,内容包括有谁知道搜索框的js代码么,HTML搜索框怎么写,请给出代码,类似百度首页的搜索框默认获得焦点的JS代码怎么写。不太清楚你要什么样的结果。写了个简单的jQuery示例供参考 var datas = ["abc", "ab

知识

状的笔画顺序怎么写的

阅读(233)

本文主要为您介绍状的笔画顺序怎么写的,内容包括过字的笔画顺序怎么写,长的笔顺怎么写的,状的笔画顺序怎么写的。过字的笔画顺序是横, 竖钩, 点, 点, 横折折撇, 捺。

知识

职工病假条怎么写

阅读(183)

本文主要为您介绍职工病假条怎么写,内容包括职工病假条怎么写/职工病假条怎么写,员工病假条怎么写/员工病假条怎么写,员工请假条怎么写。病假条不由职工书写。病假条是医学诊断证明书,劳动者请病假,应当由职工本人到用人单位指定的医疗机构,经

知识

法语LV怎么写

阅读(188)

本文主要为您介绍法语LV怎么写,内容包括路易威登,法语怎样写,写法语论文写lv好写吗,求LV的简短法语介绍一两句就行了急。Louis Vuitton est une maison française de maroquinerie de luxe, mais

知识

钱字连笔字怎么写

阅读(206)

本文主要为您介绍钱字连笔字怎么写,内容包括钱的连笔字怎么写,钱的连笔字怎么写好看钱秀杰连笔怎么写好看,钱李哲瀚连笔字怎么写。“钱”字的连笔字:

知识

上完课的英语怎么写

阅读(355)

本文主要为您介绍上完课的英语怎么写,内容包括上完课后上阅读课的英语怎么写,在上完课之后回家做作业的英语怎么写,上课的英语单词怎么写。上课的英语单词:classclass 读法 英 [klɑːs] 美 [klæs] n.班;班级;课;上课;(某科目的)系列课程2、v.把

知识

英文25到30怎么写

阅读(335)

本文主要为您介绍英文25到30怎么写,内容包括20到30用英文怎么写,20到30用英文怎么写,1到30的序数词英文怎么写。从二十到三十的英语写法:twenty 202、twenty-one 213、twenty-two 224、twenty-three 23

知识

三国志13怎么写名字

阅读(171)

本文主要为您介绍三国志13怎么写名字,内容包括《三国志13》输入中文名方法三国志13怎么输入中文名,三国志13怎么输入中文名字自创武将如何输中文,三国志13自创武将怎么输入名字。输入中文名方法一中文名字输入已解决,使用小鸭五笔,在状态栏点

知识

h1z1怎么丢子弹写数量

阅读(200)

本文主要为您介绍h1z1怎么丢子弹写数量,内容包括h1z1怎么丢一部分子弹,h1z1怎么丢子弹可以输入数量,h1z1怎么丢一部分子弹。H1Z1一次性扔指定数量子弹的方法:按住shift键往包裹外面拖.然后就可以输入想扔的数量了.从此再也不用一个个扔子弹

知识

被子英语单词怎么写

阅读(221)

本文主要为您介绍被子英语单词怎么写,内容包括英语被子这个单词怎么写,被子的英语单词怎么写,英语被子这个单词怎么写。被子 quilt例句与用法:1.玛丽留下几块布准备做一床被子。Mary saved up pieces of cloth to make

知识

照相用英文怎么写

阅读(172)

本文主要为您介绍照相用英文怎么写,内容包括照相英文怎么写,照相用英语怎么写,照相;拍照的英文怎么写。photograph 【释义】n. 相片,vi. 拍照,摄影;被照相,vt. 给 照相【读音】 英[fəʊtəɡrɑːf] 美[foʊ

知识

阴影的英文怎么写

阅读(160)

本文主要为您介绍阴影的英文怎么写,内容包括阴影的英文怎么写,影子用英文怎么说,影子的英文怎么说啊有谁知道啊。影子的英文是shadow。词汇分析音标:英 [ˈʃædəʊ] 美 [ˈʃædoʊ] 释义:阴影;影子;鬼,幽灵;隐蔽处拓展资料The c

知识

properties文件怎么写

阅读(191)

本文主要为您介绍properties文件怎么写,内容包括如何写一个.properties文件,如何调用,java的properties文件怎么写,properties文件怎么写。properties属性文件内容都是以键值对形式存在的,比如我写一个叫test.properties的文件,打开后可以再

知识

properties怎么写

阅读(169)

本文主要为您介绍properties怎么写,内容包括properties文件怎么写,java的properties文件怎么写,eclipseproperties怎么写。InputStream in = 类名.class.getClassLoader().getResourceAsStream("prop

[/e:loop]