【发布时间】:2015-03-16 11:15:46
【问题描述】:
我一直在使用 awk 命令将 XML 标记添加到代理错误日志
awk ‘{ print “<record><data name=\”F1\” <value>=\””$1”\”/><data name=\”F2\” <value>=\””$2”\”/><data name=\”F3\” <value>=\””$3”\”/>; for ( i=4; i<=NF; i++ ) {printf “%s “, $i}; print (“\””); printf (“\n”) }’
每个日志条目由“TIMESTAMP”“LOG PRIORITY”“UID”“MESSAGE”组成 并且每 5 分钟轮换一次,此代码针对轮换的日志运行。
今天我开始收到多行日志条目,需要将其转换为格式的单行条目
[16/Mar/2015:10:34:12] Security(29264):
[CLIENT4330] HTTP5094: while trying to get attribute “user”
[CLIENT4330] HTTP5094: while trying to get attribute “invalid-password”
[CLIENT4330] HTTP5094: ldap password check: LDAP error:
[16/Mar/2015:10:34:12] <Next Log entry>
[16/Mar/2015:10:34:12] <Next Log entry>
我一直在尝试解决如何捕获多行日志条目并将它们加入到附加到时间戳的单行条目中。 缩进为 8 个空格。
此代码在 Solaris 10 实例上运行,除了默认安装之外,我无法添加任何其他软件或模块。
谢谢
【问题讨论】: