自定义apache日志格式

sudo vi /etc/apache2/apache2.conf

通过LogFormatCustomLog指令可以实现自定义日志文件格式和内容的目的。
看到stackoverflow上有人问这个问题,可以在配置文件上加上这个。

LoadModule log_forensic_module /usr/lib64/apache2/modules/mod_log_forensic.so 
<IfModule log_forensic_module> 
ForensicLog /var/log/apache2/forensic_log 
</IfModule> 

然而后来发现其实没这个必要,很多不必要的信息,占用空间。

+1197:590aadca:0|GET /netease.js HTTP/1.1|Host:123.20x.xxx.xxx%3a8087|Upgrade-Insecure-Requests:1|Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8|User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30|Accept-Language:zh-cn|Accept-Encoding:gzip, deflate|Connection:keep-alive
-1197:590aadca:0

其实在默认的基础上加一个Cookie字段就够了。
编辑好配置文件/etc/apache2/apache2.conf之后,重启apache2服务。

sudo systemctl restart apache2

然后再查看日志/var/log/apache2/access.log

192.168.170.1 - - [04/May/2017:12:38:33 +0800] "GET /wordpress/ HTTP/1.1" 200 5418 "http://192.168.170.131/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3088.0 Safari/537.36" "wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_cac14356fc8680e349a2608b4ccfec17=77caikiki%7C1495076437%7CM4orkZfegC9fOQEWmmdPsq3aqgh1lOKlqsCcfOAH83F%7C2b6ab7b878a5b4ee7454f120eeca8cd2d6702d790455dccb8b43a6f271b0e9a9; wp-settings-time-1=1493866861"
192.168.170.1 - - [04/May/2017:12:38:33 +0800] "GET /wordpress/wp-content/themes/twentysixteen/genericons/genericons.css?ver=3.4.1 HTTP/1.1" 200 16780 "http://192.168.170.131/wordpress/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3088.0 Safari/537.36" "wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_cac14356fc8680e349a2608b4ccfec17=77caikiki%7C1495076437%7CM4orkZfegC9fOQEWmmdPsq3aqgh1lOKlqsCcfOAH83F%7C2b6ab7b878a5b4ee7454f120eeca8cd2d6702d790455dccb8b43a6f271b0e9a9; wp-settings-time-1=1493866861"
192.168.170.1 - - [04/May/2017:12:38:33 +0800] "GET /wordpress/wp-includes/css/admin-bar.min.css?ver=4.6.5 HTTP/1.1" 200 4203 "http://192.168.170.131/wordpress/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3088.0 Safari/537.36" "wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_cac14356fc8680e349a2608b4ccfec17=77caikiki%7C1495076437%7CM4orkZfegC9fOQEWmmdPsq3aqgh1lOKlqsCcfOAH83F%7C2b6ab7b878a5b4ee7454f120eeca8cd2d6702d790455dccb8b43a6f271b0e9a9; wp-settings-time-1=1493866861"

如果没有Cookie的话,会在那个位置填上-。如

223.xxx.xx.x - - [04/May/2017:12:36:22 +0800] "GET /netease.js HTTP/1.1" 200 884 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30" "-"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MDC(Mapped Diagnostic Context)是log4j提供的一种机制,用于在日志输出中添加自定义的上下文信息。MDC的使用方式比较简单,只需要在代码中设置MDC的键值对,然后在log4j的输出模板中使用对应的键名即可。例如: ```java import org.apache.log4j.Logger; import org.apache.log4j.MDC; public class TestLog { private static final Logger logger = Logger.getLogger(TestLog.class); public static void main(String[] args) { MDC.put("user", "Tom"); logger.info("Hello, world!"); MDC.remove("user"); } } ``` 在上面的例子中,我们使用MDC添加了一个名为"user"的键值对,然后在log4j的输出模板中使用"%X{user}"来输出该键的值。 如果您在使用MDC时出现了报错,可能是由于以下原因: 1. MDC没有正确导入。请确保您的项目中已经正确导入了log4j的依赖,并且在代码中正确导入了MDC的类。 2. MDC的键名或键值不合法。请确保您使用的键名和键值都是合法的字符串,并且没有使用特殊字符或空格。 3. MDC的键名或键值包含了log4j的占位符。请注意,log4j的输出模板中使用的占位符是以"%xxx"的形式表示的,如果您的键名或键值中包含了这种形式的字符串,可能会导致log4j解析出错。 4. MDC的键名或键值超过了log4j的限制。请注意,log4j默认限制MDC的键名和键值的长度分别为100和1000,如果您的键名或键值超过了这个限制,可能会导致log4j出现异常。 如果您仍然无法解决报错问题,请提供具体的报错信息和代码片段,我可以帮您进一步分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值