nginx 引号 x22
2016-09-23 16:54
253 查看
这个好像是nginx故意这样做的。
因为Nginx默认的log_format使用双引号作为间隔符,为了避免日志分析时候出现混乱,所以将双引号解析为x22了。
只能每天日志切割的时候,自己替换日志中的x22字符为双引号了
我的解决方法:
sed 's#\\x22#"#g' test.txt
可以加-i参数以让修改在文件中生效!
#!/bin/bash
#setting log path
log_files_path="/usr/local/nginx/logs/"
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
#setting nginx
nginx_sbin="/usr/local/nginx/sbin/nginx"
if [ ! -d $log_files_dir ]; then
mkdir -p $log_files_dir
fi
cd $log_files_path
#setting log name
log_files_name=(www.abc.com)
log_files_num=${#log_files_name[@]}
for((i=0;i<$log_files_num;i++));do
mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}.log
/bin/sed -e 's/x22/"/g' ${log_files_dir}/${log_files_name[i]}.log > ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
/bin/rm ${log_files_dir}/${log_files_name[i]}.log
done
kill -USR1 `cat /usr/local/nginx/nginx.pid`
自己手动转
touch convert.log
sed -e 's/x22/"/g' api.starconnect.cn.log > convert.log
因为Nginx默认的log_format使用双引号作为间隔符,为了避免日志分析时候出现混乱,所以将双引号解析为x22了。
只能每天日志切割的时候,自己替换日志中的x22字符为双引号了
我的解决方法:
sed 's#\\x22#"#g' test.txt
可以加-i参数以让修改在文件中生效!
#!/bin/bash
#setting log path
log_files_path="/usr/local/nginx/logs/"
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
#setting nginx
nginx_sbin="/usr/local/nginx/sbin/nginx"
if [ ! -d $log_files_dir ]; then
mkdir -p $log_files_dir
fi
cd $log_files_path
#setting log name
log_files_name=(www.abc.com)
log_files_num=${#log_files_name[@]}
for((i=0;i<$log_files_num;i++));do
mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}.log
/bin/sed -e 's/x22/"/g' ${log_files_dir}/${log_files_name[i]}.log > ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
/bin/rm ${log_files_dir}/${log_files_name[i]}.log
done
kill -USR1 `cat /usr/local/nginx/nginx.pid`
自己手动转
touch convert.log
sed -e 's/x22/"/g' api.starconnect.cn.log > convert.log
相关文章推荐
- nginx args urldecode 及nginx access_log中双引号被解析为x22问题解决方案
- nginx 引号 x22
- 1、要搜索一个确切的字符串,即精确搜索,需要使用双引号引起来:path:”/app/logs/nginx/access.log” 2、如果不带引号,将会匹配每个单词:uid token 3、模糊搜
- nginx之rewrite规则未加引号导致检查nginx语法报错
- Nginx第三方模块安装
- Thinkphp在Nginx上的配置
- nginx多站点配置
- NGINX的CORS--跨域访问配置
- 网站安全配置(Nginx)防止网站被攻击(包括使用了CDN加速之后的配置方法)
- php单引号与双引号用法
- nginx的conf文件的详细配置
- Nginx官方文档学习
- JSON 的标准:双引号而非单引号!
- nginx 设置错误的自己定义404页面跳转到500
- tomcat+nginx+memcached
- Nginx静态资源POST请求返回405 Not Allowed的解决办法
- WordPress 伪静态规则(IIS/Apache/Nginx)
- 把apache换成NGinx
- nginx 服务器配置独立的SVN服务器
- 使用nginx upstream upstream timed out while reading response header from upstream问题解决