weblogic日志管理

Posted lclc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了weblogic日志管理相关的知识,希望对你有一定的参考价值。

服务器日志 
每个 WebLogic Server 实例将来自子系统和应用程序的所有消息写入位于本地主机上的服务器日志文件。默认情况下,服务器日志文件位于服务器实例根目录下的 logs 目录中;

例如D:\Oracle\Middleware\user_projects\domains\snails_domain\servers\AdminServer\logs\AdminServer.log,其中snails_domain 是在其中定位域的目录的名称,而 \AdminServer 是服务器的名称。

可在管理控制台的Gernal属性页中设置该文件的路径及名字,错误的输出的等级等。
每条日志消息都具有关联的严重程度级别。日志消息的级别大致说明其重要级别或紧急级别。WebLogic Server 具有从 TRACE 到 EMERGENCY 的预定义严重程度,在将日志请求调度给记录器时,会将对应严重程度转换为日志级别。日志级别有如下取值

可以在记录器和处理程序上设置日志严重程度级别。在记录器上进行设置时,任何处理程序都不会收到记录器已拒绝的事件。例如,如果在记录器上将日志级别设置为 NOTICE,则任何处理程序都不会收到 INFO 级别的事件。在处理程序上设置日志级别时,仅会对处理程序应用限制,而不会对其他程序应用限制。例如,为文件处理程序关闭 DEBUG 意味着不会将任何 DEBUG 消息写入日志文件,但会将 DEBUG 消息将写入标准输出。

DOMAIN日志 
除将消息写入服务器日志文件外,每个服务器实例还会将其一部分消息转发到域范围日志文件。默认情况下,服务器仅转发严重程度级别为 NOTICE 或更高的消息。虽然可以对转发哪些消息进行修改,但服务器永远不转发严重程度级别为 DEBUG 的消息。
域日志文件提供用于查看域整体状态的中央位置。域日志驻留在管理服务器的 logs 目录中。域日志文件的默认名称和位置是 DOMAIN_NAME\servers\ADMIN_SERVER_NAME\logs\DOMAIN_NAME.log,其中,DOMAIN_NAME 是在其中定位域的目录的名称,而 ADMIN_SERVER_NAME 是管理服务器的名称。
域日志中记录的时间戳是发出消息的服务器的时间戳。域日志中的日志记录不会按照其时间戳顺序写入;会在消息到达后立即将其写入。有可能受管服务器在一段时间内无法与管理服务器联系。在这种情况下,消息被缓冲在本地并在重新连接服务器之后发送到管理服务器。

HTTP访问日志 
在WebLogic中可以对用HTTP,HTTPS协议访问的服务器上的文件都做记录,该LOG文件默认的名字为Access.log,内容如下,该文件具体记录在某个时间,某个IP地址的客户端访问了服务器上的那个文件。 
127.0.0.1 - - [25/Feb/2002:11:35:58 +0800] "GET /weather HTTP/1.1" 302 0
127.0.0.1 - - [25/Feb/2002:11:35:58 +0800] "GET /weather/index.html HTTP/1.1" 200 176 
HTTP访问日志的属性可在HTTP属性页中进行设置。

HTTP 子系统在文本文件中保留所有 HTTP 事务的日志。HTTP 访问日志的默认位置和滚动策略与服务器日志相同。可以为每个服务器或每个定义的虚拟主机设置用于定义 HTTP 访问日志行为的特性。

服务器实例如何将消息转发到域日志 
为将消息转发到域日志,每个服务器实例会广播其日志消息。服务器会广播除严重程度级别为DEBUG 的消息以外的所有消息和消息文本。
管理服务器会监听以上消息中的一部分消息,并将它们写入域日志文件。为监听这些消息,管理服务器在每台受管服务器中注册监听器。默认情况下,该监听器包含一个筛选器,仅允许将严重程度级别为 NOTICE 和更高级别的消息转发到管理服务器。具体机制参见下图

技术分享图片
对于任何给定WebLogic Server 实例,可以覆盖默认筛选器并创建一个日志筛选器,从而将一组不同的消息集写入域日志文件。如果管理服务器不可用,则受管服务器继续将消息写入其本地的服务器日志文件。但在默认情况下,当重新连接到服务器时,并不会将断开连接期间写入的所有消息转发到域日志文件。受管服务器在缓冲区中保留指定数量的消息,从而在重新连接到服务器时可以将它们转发到管理服务器。在缓冲区中保留的消息数量由 LogMBean 上的 DomainLogBroadcasterBufferSize 特性配置。默认值为 1。如配置为使用默认值,则在重新连接管理服务器后,仅将最后记录的消息转发到该服务器。例如,如果管理服务器在两小时不可用之后恢复,则域日志中不包含这两小时内生成的任何消息。如果已配置大于 1 的值,则在受管服务器重新连接到管理服务器之后,会将对应数量的消息转发到域日志。
注意:这会导致在域日志文件中,具有较早时间戳的消息列在具有较晚时间戳的消息之后。当之前断开连接的受管服务器的缓冲区中消息刷新到管理服务器之后,即使这些消息是在域日志中原有消息之前生成的,它们也会直接追加到域日志中。 
日志消息格式 
在 WebLogic Server 实例向服务器日志文件中写入消息时,每条消息的第一行以 #### 开头,后跟该消息的特性。每个特性都括在尖括号中。
以下是服务器日志文件中一条消息的示例:
####<Sept 22, 2004 10:46:51 AM EST> <Notice> <WebLogicServer> <MyComputer> <examplesServer> <main> <<WLS Kernel>> <> <null> <1080575211904> <BEA-000360> 
<Server started in RUNNING mode> 
在此示例中,消息的特性为:按区域设置格式的时间戳、严重程度、子系统、计算机名、服务器名、线程 ID、用户 ID、事务 ID、诊断上下文 ID、原始时间值、消息 ID 和消息文本。(后面的消息特性部分中描述各个特性。)
如果一条消息不是在事务上下文中记录的,则即使不包含事务 ID,也会包含用于事务 ID 的尖括号。
如果该消息中包含一个堆栈跟踪,则该堆栈跟踪包含在消息文本中。WebLogic Server 为其写入的消息使用主机的默认字符编码。
标准输出和标准错误中输出的格式 
在 WebLogic Server 实例将一条消息写入标准输出时,该输出不包含 #### 前缀,也不包含服务器名、计算机名、线程 ID、用户 ID、事务 ID、诊断上下文 ID 和原始时间值字段。
以下示例说明如何将前一部分中的消息输出到标准输出中: 
<Sept 22, 2004 10:51:10 AM EST> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode> 
在此示例中,消息特性为:按区域设置格式的时间戳、严重程度、子系统、消息 ID 和消息文本。 
图形界面操作 
登录weblogic后台进行相关操作
1.日志相关参数设置
左侧菜单:环境–>服务器
右侧菜单:服务器–>日志记录
只找到AdminServer.log、access.log,进行一些操作
如:设置日志文件的回滚,设置日志文件名等
2.日志查看
左侧菜单:环境–>服务器
右侧菜单:点击服务器名称
左侧菜单:诊断–>日志文件
右侧菜单:选中相关日志点击查看









































以上是关于weblogic日志管理的主要内容,如果未能解决你的问题,请参考以下文章

weblogic启动卡在日志哪儿了

linux下weblogic日志分割怎么做

weblogic 9i 启动部署有struts 2的应用,日志异常

Weblogic 日志轮换未按预期工作

如何设置WebLogic生成的日志文件的权限?

Weblogic 12C 将日志发送到 syslog