• lester
    2019-12-14
    老师您好,从开发的角度,想把相关日志尽量记录全,出问题便于排查,但从数据安全角度,如一些敏感信息又需要加密记录,在生产环境中,老师您有两者平衡的类似经验么?目前我们在阿里云上通过结合es检索已有日志(直接写),还有会通过send jms 异步记录日志,写日志对于性能的损耗大么?大厂一般如何平衡写与不写?

    作者回复: 你这个不光是技术问题,也是个治理问题,所以不能光用技术解决,还需要研发流程和架构治理配合,日志治理是架构治理的一部分,比方说对开发人员记录日志是否有规范,培训,是否有评审机制等。

    技术上,一般日志入ES之前,前置都有一个日志队列(比方说kafka),这是一个可以做日志收口的点,你就可以做监控治理,比如每个app写入了多少日志,是否合理,敏感数据是否已经清洗,不合理的日志你可以禁入es,限期整改等等。如果用kafka集群做日志队列的话,它就是一个大缓冲,性能一般不成问题,大厂每天缓冲处理超过上T甚至几十T日志都属正常。


    
    
  • 硕果阳光
    2019-08-25
    您好 老师 这个审计log 写入过程是Async的么? 多谢

    作者回复: 这个审计日志底层就是用的slf4j/logback,默认应该是同步的,具体要看你配置的logback的appender,有些appender是支持异步的。

    
    
  • Tomorrow
    2019-08-13
    老师,您好,关于采用structlog4j进行审计日志时,有很多方法需要记录日志的这种场景,还像staffjoy里这样每个方法埋点,会不会显得比较笨重,有没有好的解决办法?

    作者回复: 审计日志一般和重要的业务操作有关,可以手工埋点,实际也不是特别费事。当然,你可以考虑Spring AOP方式截获业务操作自动埋点,比如对Service或者Repository层通过aop截获写审计日志。

     2
    
我们在线,来聊聊吧