weblogic日志无法分割,weblogic日志分割,weblogic集群日志分割
================================
©Copyright 蕃薯耀 2018年10月19日
http://fanshuyao.iteye.com/
一、Log4j简介
Log4j有三个主要的组件:
Loggers(记录器):日志类别
Appenders (输出源):日志要输出的位置
Layouts(布局):日志格式化输出
1、Loggers
Loggers组件在此系统中被分为五个级别:
DEBUG、INFO、WARN、ERROR、FATAL。
这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度。
Log4j只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。
2、Appenders
允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等。
常使用的类如下:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
配置模式:
log4j.appender.appenderName = className
3、Layouts
格式化自己的日志输出,Log4j可以在Appenders的后面附加Layouts来完成这个功能。
Layouts提供四种日志输出样式,如根据HTML样式、自由指定样式、包含日志级别与信息的样式和包含日志时间、线程、类别等信息的样式。
常使用的类如下:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)
配置模式:
log4j.appender.appenderName.layout =className
二、详细配置说明
Log4j支持两种配置文件格式,一种是XML格式的文件,一种是properties属性文件。
下面以properties属性文件为例介绍log4j.properties的配置。
1、配置根Logger:
log4j.rootLogger = [ level ] , appenderName1, appenderName2, …(默认输出目的地,当前端传入类名)
log4j.additivity.org.apache=false:表示Logger不会在父Logger的appender里输出,默认为true。
level :设定日志记录的最低级别,值有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别,一般设置为INFO。
通过在这里设定级别,您可以控制应用程序中相应级别的日志信息的开关,比如在这里设定了INFO级别,则应用程序中所有DEBUG级别的日志信息将不会被打印出来。
appenderName:就是指定日志信息要输出到哪里。可以同时指定多个输出目的地,用逗号隔开。
例如:log4j.rootLogger=INFO,A,B,C
2、配置日志信息输出目的地(appender):
log4j.appender.appenderName = className
appenderName:自定义appderName,在log4j.rootLogger设置中使用;
className:可设值如下:
(1)org.apache.log4j.ConsoleAppender(控制台)
(2)org.apache.log4j.FileAppender(文件)
(3)org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
(4)org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
(5)org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
(1)ConsoleAppender选项:
Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Target=System.err:默认值是System.out。
(2)FileAppender选项:
Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Append=false:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
File=D:/logs/logging.log4j:指定消息输出到logging.log4j文件中。
(3)DailyRollingFileAppender选项:
Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Append=false:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
File=D:/logs/logging.log4j:指定当前消息输出到logging.log4j文件中。
DatePattern='.'yyyy-MM:每月滚动一次日志文件,即每月产生一个新的日志文件。当前月的日志文件名为logging.log4j,前一个月的日志文件名为logging.log4j.yyyy-MM。
另外,也可以指定按周、天、时、分等来滚动日志文件,对应的格式如下:
1)'.'yyyy-MM:每月
2)'.'yyyy-ww:每周
3)'.'yyyy-MM-dd:每天
4)'.'yyyy-MM-dd-a:每天两次
5)'.'yyyy-MM-dd-HH:每小时
6)'.'yyyy-MM-dd-HH-mm:每分钟
(4)RollingFileAppender选项:
Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。
ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
Append=false:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
File=D:/logs/logging.log4j:指定消息输出到logging.log4j文件中。
MaxFileSize=100KB:后缀可以是KB, MB 或者GB。在日志文件到达该大小时,将会自动滚动,即将原来的内容移到logging.log4j.1文件中。
MaxBackupIndex=2:指定可以产生的滚动文件的最大数,例如,设为2则可以产生logging.log4j.1,logging.log4j.2两个滚动文件和一个logging.log4j文件。
3、配置日志信息的输出格式(Layout):
log4j.appender.appenderName.layout=className
className:可设值如下:
(1)org.apache.log4j.HTMLLayout(以HTML表格形式布局)
(2)org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
(3)org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
(4)org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
(1)HTMLLayout选项:
LocationInfo=true:输出java文件名称和行号,默认值是false。
Title=My Logging: 默认值是Log4J Log Messages。
(2)PatternLayout选项:
ConversionPattern=%m%n:设定以怎样的格式显示消息。
格式化符号说明:
%p:输出日志信息的优先级,即DEBUG,INFO,WARN,ERROR,FATAL。
%d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy/MM/dd HH:mm:ss,SSS}。
%r:输出自应用程序启动到输出该log信息耗费的毫秒数。
%t:输出产生该日志事件的线程名。
%l:输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)。
%c:输出日志信息所属的类目,通常就是所在类的全名。
%M:输出产生日志信息的方法名。
%F:输出日志消息产生时所在的文件名称。
%L::输出代码中的行号。
%m::输出代码中指定的具体日志信息。
%n:输出一个回车换行符,Windows平台为"rn",Unix平台为"n"。
%x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
%%:输出一个"%"字符。
另外,还可以在%与格式字符之间加上修饰符来控制其最小长度、最大长度、和文本的对齐方式。如:
1) c:指定输出category的名称,最小的长度是20,如果category的名称长度小于20的话,默认的情况下右对齐。
2)%-20c:"-"号表示左对齐。
3)%.30c:指定输出category的名称,最大的长度是30,如果category的名称长度大于30的话,就会将左边多出的字符截掉,但小于30的话也不会补空格。
三、Log4j配置举例
Log4j配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。
log4j.rootLogger=DEBUG,console,dailyFile,im
log4j.additivity.org.apache=true
# 控制台(console)
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.ImmediateFlush=true
log4j.appender.console.Target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
# 日志文件(logFile)
log4j.appender.logFile=org.apache.log4j.FileAppender
log4j.appender.logFile.Threshold=DEBUG
log4j.appender.logFile.ImmediateFlush=true
log4j.appender.logFile.Append=true
log4j.appender.logFile.File=D:/logs/log.log4j
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
# 发送日志到指定邮件
log4j.appender.mail=org.apache.log4j.net.SMTPAppender
log4j.appender.mail.Threshold=FATAL
log4j.appender.mail.BufferSize=10
log4j.appender.mail.From = xxx@mail.com
log4j.appender.mail.SMTPHost=mail.com
log4j.appender.mail.Subject=Log4J Message
log4j.appender.mail.To= xxx@mail.com
log4j.appender.mail.layout=org.apache.log4j.PatternLayout
log4j.appender.mail.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
# 应用于数据库
log4j.appender.database=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.database.URL=jdbc:mysql://localhost:3306/test
log4j.appender.database.driver=com.mysql.jdbc.Driver
log4j.appender.database.user=root
log4j.appender.database.password=
log4j.appender.database.sql=INSERT INTO LOG4J (Message) VALUES('=[%-5p] %d(%r) --> [%t] %l: %m %x %n')
log4j.appender.database.layout=org.apache.log4j.PatternLayout
log4j.appender.database.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
四、Log4j Weblogic集群配置
log4j.rootLogger = INFO, console, daily #输出到控件台 log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern = [${weblogic.Name}] %-d{yyyy-MM-dd HH:mm:ss} [%p][%l] %n%m%n%n #每天生成一个文件 log4j.appender.daily = org.apache.log4j.DailyRollingFileAppender log4j.appender.daily.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.daily.File = D:/logs/pro_name/${weblogic.Name}/pro_name-${weblogic.Name}.log log4j.appender.daily.layout = org.apache.log4j.PatternLayout log4j.appender.daily.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%p][%l] %n%m%n%n
集群的配置和一般的配置有些不一样。
主要是在文件的输出路径加上了服务器的名称变量:${weblogic.Name}。为什么呢?
因为在集群中,当日志文件被多个应用服务器共同占用时,是不能按日期、大小分隔出来:当一个应用服务器要进行分割时,共同的日志文件被其它应用服务器锁定,导致分割失败。
所以需要将日志文件名加上服务器名称的变量,让每个应用服务器有自己独立的日志文件。这样才不会导致日志太大(如500M、1G以上大小)而打不开。同时日志文件过大,也会导致日志输出影响系统性能的问题。
================================
©Copyright 蕃薯耀 2018年10月19日
http://fanshuyao.iteye.com/
相关推荐
weblogic集群部署文档 weblogic集群部署文档 weblogic集群部署文档
Weblogic集群介绍.Weblogic集群介绍.
WebLogic 11g 多机集群配置 WebLogic 11g 多机集群配置是指在多个服务器上安装和配置 WebLogic 11g 服务器,以实现高可用性和负载均衡。在本文中,我们将详细介绍如何配置 WebLogic 11g 多机集群,包括管理服务器、...
WebLogic 集群中SSL 配置说明。WebLogic 集群中SSL 配置说明
aix下配置weblogic集群 aix下配置weblogic集群 aix下配置weblogic集群 aix下配置weblogic集群 aix下配置weblogic集群
linux下weblogic集群部署
Weblogic 集群傻瓜式安装部署,为需要得同行提供便捷。cd /weblogic/Oracle/Middleware/user_projects/domains/ams_domain/servers/AdminServer/ (3)、在AdminServer文件夹下创建security文件夹 [weblogic@...
WebLogic集群部署 单服务器 多服务器 资料 简单易懂的图文教程,绝对有用!!!
WebLogic集群配置,一步一步的说明如何实现weblogic集群配置。
Weblogic 8.1.6在LINUX下部署集群
WebLogic集群环境搭建 超级详细,自己手动搭建全部截图 WebLogic10 jdk6 绝对好用
weblogic集群详细的搭建步骤,绝对手把手的教你部署weblogic服务器以及集群的扩容.zip
weblogic集群安装及nginx https反向代理及负载均衡配置
Linux 下,weblogic10.3.6版本,集群的安装配置及调试
Weblogic集群概念和配置 Domain Administrator Server Managed Server Machine Node Manager Cluster
8.代理对WEBLOGIC集群的请求 9.配置WEB应用 10.配置APACHE-WEBLOGIC服务器插件 11.配置MICROSOFT-IIS插件 12.配置NETSCAPE插件 13.安全管理 14.管理实物 15.管理JDBC连接 16.管理JMS 17.管理JNDI 18.管理WEBLOGIC ...
Linux下配置Weblogic集群 本文档主要讲解了如何在Linux系统下配置Weblogic集群,包括集群的概念、域的概念、管理服务器、受管服务器、代理、机器等相关概念的解释,以及实际操作步骤的详细指导。 一、集群概念 在...
WebLogic集群配置和负载均衡的实现
weblogic集群配置手册,用于配置weblogic集群使用的电子手册