站点的日志进行分类是很有必要的, 日志将便于我们了解站点运行情况,也便于我们提早发现问题、查找和分析问题。 在用户户反映问题前, 提前预知。
    站点日志分类, 主要分为异常日志、自定义日志、接口日志和默认日志。
    异常日志
    异常信息主要分为三种,已知异常、未知异常和自定义异常。
    编码过程中,出现异常是不可避免的, 但对异常信息需要进行分类处理,异常主要包括编译错误和逻辑错误。编译错误容易发现, 将导致无法编译, 我们无需记录日志。而逻辑错误难以发现,通常往往借助调试工具来查找。
    我们往往会可能出现的异常的地方用try catch进行异常捕获, 如数据库连接错误异常、数据错误导致超出数组异常。
    不管什么异常, 我们都需要进行捕获, 并对异常进行记录, 在记录的时候, 通过标记,区分开异常日志。
    asp.net core中,可以通过实现中间件, 监控所有请求出现的异常信息。 根据不同的异常类型, 进行区分。
    如自定义异常可以通过继承Exception类, 如CustomException, 在捕获到异常时, 判断该异常的类型是否为CustomException, 如果是,记录为自定义异常。
    如已知异常,可以通过判断是否为常规出现的异常类型, 如超出索引、被除数不能为0 。
    最后, 未能找到对应的异常类型,即分为未知异常。
    如此, 我们可以根据捕获的异常的类型,进行区分,区分出更多的异常信息,如自定义的类库(插件、Nuget包)都可以自定义一些已知异常。 方便于区分。
    自定义日志
    在编程过程中,我们往往需要在一些逻辑中记录日志, 方便于调试、统计等等,如记录跟踪、消息级别的消息。
    接口日志
    接口日志主要记录日志的请求头信息、请求内容、调用的接口、调用时间、响应时间、处理时间间隔、返回结果、返回内容等等。如果是保存为文件, 建议以接口的相对地址和日志等级作为文件名,如Http.api.user.login.Info.log。
    默认日志
    默认日志为微软官方或第三方插件产生日志,一般是跟踪级别的日志,不进行记录。
    综上所述, 将会产生很多日志, 记录的范围会比较精细。如果是记录到文本日志, 将会很多, 建议按天建立文件夹, 在该文件夹下按 异常日志、自定义日志、接口日志、默认日志在创建一层文件夹,最后日志文件以接口名称或方法名称,加上日志等级作为文件名。这样会比较清晰、好查找。
    请参考下图:

站点日志处理(asp.net core webapi)站点日志处理(asp.net core webapi)

相关文章: