精华内容
下载资源
问答
  • java 日志打印规范

    千次阅读 2019-08-16 11:43:00
    【推荐】最好能打印调用方信息,比如访问者ip等信息 日志文件要可以方便使用grep语句查看 日志文件归档:需要告知运维归档 日志预警,通过ES实现 对于无法预知的异常,一定要打印堆栈:LOGGER.er...
        

    日志要求:

    • 重要日志一定要打印到日志文件
    • 日志文件应该每天滚动一次,日志多的可以每个小时滚动一次
    • 日期必须精确到毫秒,而不是秒
    • 确保日志是按事件顺序输出
    • 【推荐】最好能打印调用方信息,比如访问者ip等信息
    • 日志文件要可以方便使用grep语句查看
    • 日志文件归档:需要告知运维归档
    • 日志预警,通过ES实现
    • 对于无法预知的异常,一定要打印堆栈:LOGGER.error("context:{},exception:{}", JSON.toJSONString(context), e);
    • 打印错误信息时,要打印访问的上下文
    • 对于调用接口返回错误的日志(暂定):
      如果为1代表系统异常,打印error级别来预警,否则打印warn级别或者info级别

    工具:

    项目尽可能的使用log4j2 或者 logback,并且使用slf4j接口打印日志:

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    private static final Logger logger = LoggerFactory.getLogger(Abc.class);
    

    日志要分级别打印:

    • trace:跟踪日志,与debug差别不大
    • debug:调试问题使用,一定要打印出输入、输出数据
    • info:打印程序运行信息,启动信息等
    • warn:打印一些警告信息,比如参数校验错误等等
    • error:打印程序错误信息,必须要打印上下文信息,方便查找问题
    • fatal:重大灾难信息,比如数据库无法连接等需要立即处理的问题
    • bussiness: 打印重要业务的日志,比如抢购成功、订单创建成功的相关信息、删除用户等

    日志文件分开打印,便于查看和抓取日志:

    • *.debug.log
    • *.info.log
    • *.warn.log
    • *.error.log
    • *.biz.log

    ELK日志收集预警:

    为了ELK收集方便,日志可以打印成json格式:
    info.json
    warn.json
    error.json

    error级别日志3分钟预警,发送邮件
    warn级别日志10分钟预警,发送邮件

    logback可以使用logstash-logback-encoder来打印json格式日志:

    <dependency>
        <groupId>net.logstash.logback</groupId>
        <artifactId>logstash-logback-encoder</artifactId>
        <version>4.5.1</version>
    </dependency>
    

    ** logback.xml配置:**

    <appender name="LOGSTASH" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/log.json</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/log.json.%d{yyyy-MM-dd}</fileNamePattern>
            <maxHistory>7</maxHistory>
        </rollingPolicy>
        <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <jsonFactoryDecorator class="com.sq.proxy.config.MyJsonFactoryDecorator" />
            <providers>
                <timestamp>
                    <pattern>yyyy-MM-dd'T'HH:mm:ss.SSSZZ</pattern>
                </timestamp>
                <pattern>
                    <pattern>{"level":"%level","service":"${springAppName:-}","host":"%ip","pid":"${PID:-}","thread":"%thread","class":"%logger{40}:%L","message": "%message"},</pattern>
                </pattern>
            </providers>
        </encoder>
    </appender>
    打印堆栈:
    

    java 代码:

    logger.error("getBalanceHint() 异常:{}", ExceptionUtils.getFullStackTrace(e));
    
    展开全文
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
  • java源码包2

    千次下载 热门讨论 2013-04-20 11:28:17
     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
  • java源码包3

    千次下载 热门讨论 2013-04-20 11:30:13
     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
  • java源码包4

    千次下载 热门讨论 2013-04-20 11:31:44
     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
  • Java开发详解.zip

    2019-09-02 17:46:13
    031901_【第19章:Java网络编程】_IP(Internet Protocol)与InetAddress笔记.pdf 031902_【第19章:Java网络编程】_URL与URLConnection笔记.pdf 031903_【第19章:Java网络编程】_URLEncoder与URLDecoder笔记.pdf ...
  • 疯狂JAVA讲义

    2014-10-17 13:35:01
    1.6.3 初学容易犯的错误 18 1.7 垃圾回收机制 20 1.8 何时开始使用IDE工具 21 学生提问:老师,我想学习Java编程,到底是学习Eclipse好呢,还是学习JBuilder好呢? 21 1.9 本章小结 22 本章练习 22 第2章 ...
  • Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...
  • java自学之道

    2014-01-05 20:17:04
    3.10 生产消费的实现 3.11 银行家算法 3.12 KMP算法 3.13 RSA的实现 第4章 IO流实例开发 4.1流到底怎样输入和输出扯淡区 4.2 FileInputStream的应用 4.3 FileOutputStream的应用 4.4 FileReader的应用 4.5 ...
  • Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...
  • Java程序员面试宝典pdf

    热门讨论 2013-02-21 13:06:13
    面试题101 如何使用Java访问Web站点 169 10.3 小结 171 第11章 Java对数据库的操作( 教学视频:43分钟) 172 11.1 SQL基础 172 面试题102 什么是SQL 172 面试题103 如何使用SQL检索数据 173 面试题104 如何使用SQL...
  • Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...
  • TCP/IP教程TCP/IP基础

    热门讨论 2009-11-23 20:58:46
    7.5.7 WINS复制参与 66 7.5.8 WINS实现建议 67 7.6 集成WINS和DNS名字解析服务 67 7.7 DHCP服务WINS选项 67 7.8 通过LMHOSTS进行NetBIOS名字 解析 68 7.9 小结 69 第8章 地址发现协议(BOOTP和DHCP) 71 8.1 “引导...
  • JAVA 范例大全 光盘 资源

    热门讨论 2012-03-07 16:30:00
    实例135 模拟生产与消费 392 实例136 仿迅雷下载文件 396 第15章 图形编程 403 实例137 多变的按钮 403 实例138 自制对话框 405 实例139 模仿QQ空间的电子相册 409 实例140 会动的七彩文字 413 实例141 ...
  • java范例开发大全

    2013-03-08 20:06:54
    实例223 参赛的比赛生活(线程休眠唤醒) 407 实例224 资源搜索并下载(线程等待和通报) 410 实例225 模拟淘宝购物买卖双方交易问题 412 实例226 携子之手 与子偕老(join) 415 实例227 线程让步(Yield) 417 ...
  • 面试题101 如何使用Java访问Web站点 169 10.3 小结 171 第11章 Java对数据库的操作( 教学视频:43分钟) 172 11.1 SQL基础 172 面试题102 什么是SQL 172 面试题103 如何使用SQL检索数据 173 面试题104 如何...
  • TCP/IP详解

    2013-07-25 11:17:06
    7.5.7 WINS复制参与 66 7.5.8 WINS实现建议 67 7.6 集成WINS和DNS名字解析服务 67 7.7 DHCP服务WINS选项 67 7.8 通过LMHOSTS进行NetBIOS名字 解析 68 7.9 小结 69 第8章 地址发现协议(BOOTP和DHCP) 71 8.1 “引导...
  • 腾讯云java sdk 使用commons.logging类进行打印日志,如下所示。 九月 10, 2020 5:14:30 下午 com.tencentcloudapi.cvm.v20170312.CvmClient info 信息: send request, request url: ...
  • TCP-IP技术大全

    2011-12-01 16:46:51
    包括开放式通信模型、TCP/IP通信模型、IP网络中的命名和寻址机制、地址解析及反向地址解析协议、DNS域字服务器、WINS、地址发现协议、IPv6、IP网络中的路由协议(RIP、OSPF等)、互联网打印协议、LDAP目录服务、远程...
  • java应用软件程序设计

    2008-04-28 14:08:56
    112 实例38 打印文本文件 114 实例39 读取配置文件 115 实例40 流操作 117 实例41 管道操作 118 实例42 标准I/O重定向 121 实例43 文件过滤器 122 实例44 获取文件信息 123 第4章 Java网络...
  • java范例开发大全源代码

    热门讨论 2011-10-30 23:31:51
     实例168 如何访问同名的方法或变量 268  实例169 super()方法的使用 271  实例170 this方法的使用 274  实例171 一张考试成绩单 275  实例172 银行自动存取一体机 278  9.4 多态 284  实例173 ...
  • 8.4.4生产-消费问题实例284 8.5本章小结287 第9章运行时类型识别288 9.1RTTI的作用288 9.2用Class类来加载对象289 9.3使用getClass()方法获取类信息290 9.4使用类标记292 9.5使用关键字instanceof判断...
  • TCP-IP协议详解

    热门讨论 2008-11-24 20:46:50
    7.5.7 WINS复制参与 66 7.5.8 WINS实现建议 67 7.6 集成WINS和DNS名字解析服务 67 7.7 DHCP服务WINS选项 67 7.8 通过LMHOSTS进行NetBIOS名字 解析 68 7.9 小结 69 第8章 地址发现协议(BOOTP和DHCP) 71 8.1 “引导...
  • TCP/IP技术大全

    2010-03-10 10:25:24
    23.10.1 安装TCP/IP打印服务 259 23.10.2 安装LPR服务 260 23.11 Windows 2000新特性 260 23.12 小结 261 第24章 在Novell NetWare中支持IP 262 24.1 Novell与TCP/IP 262 24.1.1 IP与NetWare 4 262 24.1.2 NetWare 5...
  • Java范例开发大全 (源程序)

    热门讨论 2011-04-27 07:47:22
    第1篇 Java编程基础  第1章 Java开发环境的搭建(教学视频:9分钟) 2  1.1 理解Java 2  1.2 搭建Java所需环境 3 ... 实例223 参赛的比赛生活(线程休眠唤醒) 407  实例224 资源搜索并下载(线程...
  • TCP IP教程 part1

    2008-08-26 09:18:48
    7.5.7 WINS复制参与 66 7.5.8 WINS实现建议 67 7.6 集成WINS和DNS名字解析服务 67 7.7 DHCP服务WINS选项 67 7.8 通过LMHOSTS进行NetBIOS名字 解析 68 7.9 小结 69 第8章 地址发现协议(BOOTP和DHCP) 71 8.1 “引导...
  • java范例开发大全(pdf&源码)

    热门讨论 2013-07-04 13:04:40
    实例223 参赛的比赛生活(线程休眠唤醒) 407 实例224 资源搜索并下载(线程等待和通报) 410 实例225 模拟淘宝购物买卖双方交易问题 412 实例226 携子之手 与子偕老(join) 415 实例227 线程让步(Yield) 417 ...

空空如也

空空如也

1 2 3
收藏数 55
精华内容 22
关键字:

java打印访问者ip

java 订阅