`
san_yun
  • 浏览: 2655114 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

中间件内置logger功能

 
阅读更多
在开发中间件的时候有时候希望日志能强制输出到我们制定的地方而不需要用户关心,这个可以通过JAVA API的方式实现

  static public final Logger log = new LoggerContext().getLogger(ClientImpl.class);

    private static void initLog() throws Exception {
        // 使用logback初始化
        final String logPath = LocalConfigInfoProcessor.getLogFile();
        System.out.println("jasmine client log path : " + new File(logPath).getAbsolutePath());

        RollingFileAppender appender = new RollingFileAppender();
        appender.setContext(log.getLoggerContext());
        appender.setAppend(true);
        appender.setFile(logPath);

        TimeBasedRollingPolicy rollingPolicy = new TimeBasedRollingPolicy();
        rollingPolicy.setContext(log.getLoggerContext());
        rollingPolicy.setFileNamePattern(LocalConfigInfoProcessor.logRoot + File.separator
                + "jasmine-client-%d{yyyy-MM-dd}.log");
        rollingPolicy.setMaxHistory(30);
        rollingPolicy.setParent(appender);
        rollingPolicy.start();
        appender.setRollingPolicy(rollingPolicy);

        PatternLayoutEncoder encoder = new PatternLayoutEncoder();
        encoder.setContext(log.getLoggerContext());
        encoder.setPattern("%date{ISO8601} %-5level [%thread] %logger{32} - [%X{uid}] [%X{coeus.uid}] %message%n");
        encoder.start();
        appender.setEncoder(encoder);

        appender.start();

        log.setLevel(Level.INFO);
        log.setAdditive(false);
        log.addAppender(appender);
    }

分享到:
评论

相关推荐

    Laravel开发-logger

    `Laravel-Logger`是一个专门为Laravel设计的日志管理工具,它扩展了Laravel内置的日志功能,提供了更强大的多记录器支持,使开发者能够同时跟踪和记录不同级别的信息,以便更好地理解和优化应用程序的运行情况。...

    Go-logger-Go简约的日志库

    在记录日志时,`logger`库提供了各种方法,如`Debugf`、`Infof`、`Warnf`、`Errorf`等,它们与Go内置的`log`包类似,支持格式化字符串。这些方法接收一个格式化字符串和参数,方便地插入变量到日志消息中: ```go ...

    B站微服务框架Kratos详细教程(3)-中间件 示例项目源码

    - `logger`: 提供日志记录功能,可以根据配置输出到不同的日志存储。 - `recover`: 捕获并处理panic,保证服务的稳定运行。 - `gzip`: 压缩HTTP响应,提高网络传输效率。 - `limit`: 实现限流,防止过量请求对...

    Laravel开发-laravel-logger .zip

    3. **中间件**:在Laravel中,laravel-logger可能包含了自定义的中间件,这使得在每次请求开始或结束时自动记录相关信息,例如请求时间、URL、响应状态码等。 4. **事件监听器**:laravel-logger可能通过监听...

    Laravel开发-activity-logger

    它提供了许多内置服务,如路由、中间件、数据库迁移和模型工厂,使得开发者可以更快速、更简洁地构建高质量的Web应用。 **三、Laravel活动记录器实现** 1. **事件驱动设计**:Laravel使用事件系统来处理各种应用内...

    Laravel开发-laravel-request-logger .zip

    `laravel-request-logger`是一个第三方扩展,旨在增强Laravel的内置日志功能,为开发者提供更详细的请求日志,包括请求头、查询参数、POST数据、响应时间等。安装此扩展包后,你可以更轻松地追踪应用程序中的异常和...

    PyPI 官网下载 | django-security-logger-1.3.32.tar.gz

    它提供了许多内置功能,如数据库管理、用户认证、表单处理和 URL 路由,以简化 Web 应用的开发过程。Django 强调可重用性和“干”原则(Don't Repeat Yourself),鼓励快速开发和简洁实用的设计。 **安全性和日志...

    Laravel开发-lara-ore-request-logger

    lara-ore-request-logger 的功能 - **详细请求信息**:记录请求的 URL、HTTP 方法(GET、POST等)、IP 地址、用户代理、请求头以及请求体。 - **响应信息**:记录响应状态码、响应时间、返回内容大小等。 - **...

    Laravel开发-laravel-mysql-logger

    `laravel-mysql-logger`是一个专门为Laravel 5.6设计的日志驱动程序,它扩展了Laravel的内置Monolog库,将日志信息存储到MySQL数据库中,而不是默认的文本文件或其他存储方式。 ### Laravel框架概述 Laravel是由...

    movie_logger-backend

    10. **中间件**:为了实现通用功能,如认证、授权、限流、日志记录等,项目可能会使用中间件。例如,Gin 框架就支持中间件链。 以上只是 "movie_logger-backend" 可能涉及到的一些基本概念和技术,实际项目可能还...

    Python-Django中间件能够可视化应用程序的流量在Kibana中

    在中间件中,我们可以使用`logger`模块记录每个请求的相关信息,如URL、HTTP方法、响应状态码等。 3. **Elasticsearch - 数据存储** Elasticsearch是一个分布式、实时的搜索和分析引擎,适合处理大量数据。在这里...

    NodeJS学习笔记之Connect中间件模块(一)

    接下来,我们将介绍Connect内置的一些主要中间件: 1. `cookieParser`:这个中间件用于解析HTTP请求头中的Cookie信息,并将其存储在`req.cookies`对象中。此外,它还支持加密和解密Cookie,确保数据的安全性。以下...

    22-10-13-08-SqlSugarAcquaintance(第3方日志中间件NLog-v5.0.4)

    在.NET Core 6框架中,系统内置的日志中间件提供了丰富的日志记录功能,但默认情况下并不支持日志数据的持久化存储。这意味着在应用程序运行过程中产生的日志信息,如果没有额外处理,会在程序关闭后丢失。为了实现...

    django 实现编写控制登录和访问权限控制的中间件方法

    # 其他内置或自定义中间件... 'myapp.middleware.ExteriorAuthMiddleware', # 自定义中间件 ] ``` #### 三、编写自定义中间件 下面我们将创建一个名为`ExteriorAuthMiddleware`的自定义中间件,用于控制登录和...

    Node.js in Action

    **内置中间件功能**:Connect 内置了一些强大的中间件,可以帮助开发者快速完成许多常见的Web开发任务。 **请求处理**:通过使用这些内置中间件,开发者可以方便地对HTTP请求进行预处理或后处理,例如记录日志、...

    专家::gem_stone:HTTP请求客户端使用可链接的REST API,内置会话和中间件

    本文将深入探讨一个名为"GemStone"的专家提到的HTTP请求客户端,它具有可链接的REST API、内置会话管理和中间件功能。我们将详细讨论这些特性以及它们在实际应用中的作用。 首先,让我们理解什么是HTTP请求客户端。...

    NodeJS学习笔记之Connect中间件模块(二)

    connect.logger()中间件负责打印请求日志,而connect.static()中间件则用于提供静态文件服务。这表明Connect中间件不仅可以处理请求,还能为Web应用提供实用的功能。 其次,文章中提到了Connect中间件如何扩展原生...

    tcg-logger-express:TCG Express记录仪

    内置的Express中间件包括将子记录器附加到每个请求和响应时间。 用法 直接添加到应用程序对象,以方便访问应用程序范围内的记录器。 使用中间件将为每个请求添加一个子记录器作为req.log ,以及跟踪和记录响应时间...

    新一代Node.js的Web开发框架Koa.doc

    Koa自身并不包含日志功能,但可以通过第三方中间件如`koa-logger`实现日志记录。安装`npm install koa-logger`后,通过`app.use(logger())`将日志中间件添加到应用中,以便追踪和分析应用程序的运行情况。 在实际...

    Go-Mango一个模块化的web应用程序Go框架

    - **中间件支持**:类似Rack的中间件架构,Go-Mango提供了丰富的中间件库,如日志记录、会话管理、跨域请求处理等,方便开发者自定义中间件以扩展功能。 - **请求和响应处理**:框架提供简单易用的API,用于处理...

Global site tag (gtag.js) - Google Analytics