# Log日志分析经验

健全的日志信息建立在开发良好的日志编写习惯上,关于开发编写Log日志注意事项详见本站“CTP技术平台>LOG日志”篇。

# 1、日志结构

以默认安装的(基于Tomcat中间件)的本地OA服务为例,OA的日志存放于如下两个路径下:ApacheJetspeed\logs和ApacheJetspeed\logs_sy

1714303402986.png

# 2、运维如何快速提取日志

使用S1工具,找到发生异常的日期,对日志进行打包处理,操作方式详见S1用户操作手册:

1709563019018.png

# 3、技术人员如何获取正确的日志

如果异常刚刚才发生,则直接按照修改日期降序排列,找到最新日志取分析。

1714303414752.png

如果异常是此前一段时间的,则需要根据日志文件的“修改日期”找跟那段时间接近的日志。

# 2.1、logs目录

ApacheJetspeed\logs目录下的日志是Tomcat中间件日志,主要存放系统启动日志和JSP/Servlet运行时异常。

这个目录下有两个非常关键的日志:catalina.log和localhost.log,这两个日志默认都按照日期自增存放。

# 2.1.1、logs目录catalina日志

catalina-年-月-日.log存放系统启动日志,如果系统启动报错,优先看这个日志的文件信息。启动之初,会有整个Tomcat、JDK、JVM、系统环境变量的配置信息,可以快速通过日志分析当前系统环境情况。

1714303427372.png

如果更换为weblogic、was、金蝶、东方通等中间件,则需要按各自中间件特性取对应的日志文件(建议参考安装部署手册提取)

# 2.1.2、logs目录localhost日志

localhost日志存放的是Servlet、JSP级别异常,我们常见的页面红字异常都是存放在此处。

# 2.2、logs_sy目录

logs_sy目录下的日志非常丰富,都是V5的代码日志,功能及异常和日志追踪均通过logs_sy目录记录存储。

# 2.2.1、logs_sy日志存储规则

logs_sy下日志分为“当前运行时日志”和“历史记录日志”。

“当前运行时日志”就是存放于logs_sy根目录下,全部是.log文件,这些日志记录着当前正在运行的状态,按照修改日期降序排列,能看到最近什么日志文件有更新。

1714303439221.png

“历史记录日志”是通过文件夹存放,一天一个文件夹,按照日期存放。“当前运行时”的日志存储超过10M,就会被放入“历史记录日志”中。比如ctp.log存储满10M时,会被命名为ctp.log.2021-08-18.1.log放入2021-08-18文件夹(跟随当天日期存放)。

1714303452583.png

V8.2开始:如果重复的异常日志,会存储到error.log中,所以还需要取error.log文件。

# 4、根据关键字搜索日志的方法

场景:若客户上报了一个BUG:页面出现红字异常。没有提供报错的具体时分秒,只是知道是在某一天。

此时可以有多种方式追踪问题:

第一种,让客户重新试一下看是否报错,如果报错就取立刻报错时间点的日志分析。

第二种,由客户提供报错当天的全部日志,通常除了CAP、组织机构外,常规的错误日志都在ctp.log下,可以提取ctp.log下所有日志。

1714303467356.png

首先,确保自己已经安装了Notepad++软件,然后全选Log日志,鼠标右键>Edit with Notepad++

1714303481020.png

随后,在打开的Notepad++页面,输入红字异常关键字>选择查找所有打开文件>最后就能匹配到所有相关关键字。

1714303493255.png

# 5、日志级别动态调整

登录系统管理员账号,系统维护-系统调试设置-运行态改变日志级别

1714303509445.png

客户环境调试完成后记得重置默认日志级别,避免产生日志过多

# 6、系统LOG日志配置修改

OA系统全部LOG日志配置存储于\webapps\seeyon\WEB-INF\cfgHome\base目录下。主要修改log4j2_sys_running.xml和log4j2_sys_starting.xml两个文件的LOG配置,starting表示启动时打印的日志,running表示系统运行期打印的日志。

比如com.seeyon.ctp.event的日志级别默认是info,现在想修改为warn,则找到该日志配置,将level="info"改成level="warn"即可。

		<!-- 事件通知日志-->
		<AsyncLogger level="warn" additivity="false" name="com.seeyon.ctp.event">
			<AppenderRef ref="event"/>
			<AppenderRef ref="error"/>
		</AsyncLogger>

1709792309823.png

创建人:het
修改人:het