• 日志转化成json格式


    apache_access.log
    将LogFormat 原配置行注释。添加如下内容:
    LogLevel warn
    <IfModule log_config_module>
    LogFormat "{
    "@timestamp": "%{%Y-%m-%dT%H:%M:%S%z}t",
    "@version": "1",
    "tags":["apache"],
    "message": "%h %l %u %t \"%r\" %>s %b",
    "clientip": "%a",
    "duration": %D,
    "status": %>s,
    "request": "%U%q",
    "urlpath": "%U",
    "urlquery": "%q",
    "bytes": %B,
    "method": "%m",
    "site": "%{Host}i",
    "referer": "%{Referer}i",
    "useragent": "%{User-agent}i"
    }" ls_apache_json
    <IfModule logio_module>
    CustomLog logs/access_log.ls_json ls_apache_json
    重启apache程序
    ---------------------------------------------------------------------------------------------------
    nginx_access.log
    将log_format 原配置行注释,添加如下内容:
    log_format logstash_json '{ "@timestamp": "$time_local", '
    '"@fields": { '
    '"remote_addr": "$remote_addr", '
    '"remote_user": "$remote_user", '
    '"body_bytes_sent": "$body_bytes_sent", '
    '"request_time": "$request_time", '
    '"status": "$status", '
    '"request": "$request", '
    '"request_method": "$request_method", '
    '"http_referrer": "$http_referer", '
    '"body_bytes_sent":"$body_bytes_sent", '
    '"http_x_forwarded_for": "$http_x_forwarded_for", '
    '"http_user_agent": "$http_user_agent" } }';
    access_log /usr/local/nginx/logs/access_json.log logstash_json;
    重启nginx程序
    ---------------------------------------------------------------------------------------------------
    Tomcat 利用log4j,日志输出格式为json
    进入到Tomcat的lib目录:
    cd /usr/local/tomcat8.5.14/lib
    进入到Tomcat的bin目录:
    cd /usr/local/tomcat8.5.14/bin
    mv tomcat-juli.jar tomcat-juli.jar.bak
    进入到Tomcat的conf目录:
    mv logging.properties  logging.properties.bak
    编辑 context.xml,将Context标题修改为如下内容:
    <Context swallowOutput="true">
    进入到tomcat的lib目录:
    创建log4j.properties,其catalina日志为滚动日志,json格式输出
    vim log4j.properties
    log4j.rootLogger = INFO, CATALINA
    # Define all the appenders
    log4j.appender.CATALINA=org.apache.log4j.RollingFileAppender
    log4j.appender.CATALINA.File=${catalina.base}/logs/catalina
    log4j.appender.CATALINA.layout=org.apache.log4j.PatternLayout
    log4j.appender.CATALINA.layout.ConversionPattern={"time":"%d{yyyy-MM-dd HH:mm:ss,SSS}","logtype":"%p","loginfo":"%c:%m"}%n
    log4j.appender.CATALINA.MaxFileSize=2MB
    log4j.appender.CATALINA.MaxBackupIndex=10
    log4j.appender.LOCALHOST = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.LOCALHOST.File = ${catalina.base}/logs/localhost
    log4j.appender.LOCALHOST.Append = true
    log4j.appender.LOCALHOST.Encoding = UTF-8
    log4j.appender.LOCALHOST.DatePattern = '.'yyyy-MM-dd'.log'
    log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
    log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
    log4j.appender.MANAGER = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.MANAGER.File = ${catalina.base}/logs/manager
    log4j.appender.MANAGER.Append = true
    log4j.appender.MANAGER.Encoding = UTF-8
    log4j.appender.MANAGER.DatePattern = '.'yyyy-MM-dd'.log'
    log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
    log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
    log4j.appender.HOST-MANAGER = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.HOST-MANAGER.File = ${catalina.base}/logs/host-manager
    log4j.appender.HOST-MANAGER.Append = true
    log4j.appender.HOST-MANAGER.Encoding = UTF-8
    log4j.appender.HOST-MANAGER.DatePattern = '.'yyyy-MM-dd'.log'
    log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout
    log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
    log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
    log4j.appender.CONSOLE.Encoding = UTF-8
    log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
    # Configure which loggers log to which appenders
    log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost] = INFO, LOCALHOST
    log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager] =
      INFO, MANAGER
    log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager] =
      INFO, HOST-MANAGER
    重启Tomcat,并检查日志输出格式:
    tail -f usr/log/tomcat8.5.14/logs/catalina
    日志输出到catalina,而非catalina.out文件
  • 相关阅读:
    php中的抽象方法和抽象类,简单明了,一点通
    PHP_保留两位小数并且四舍五入(可用于精度计算)_保留两位小数并且不四舍五入
    如何使用php生成唯一ID的4种方法
    Redis案例——商品秒杀,购物车
    centos+python2+apache2+django环境搭建
    前端上传图片并显示
    通过容器提交镜像(docker commit)以及推送镜像(docker push)
    Name or service not known原因大全
    VMware Workstation 与 Device/Credential Guard 不兼容.在禁用 Device/Credenti
    win10家庭版VMware,禁用Device/Credential Guard不兼容问题
  • 原文地址:https://www.cnblogs.com/yangxiaochu/p/8328598.html
Copyright © 2020-2023  润新知