首页 > 其他分享 >【Log4j】ログのツールーSpringBoot

【Log4j】ログのツールーSpringBoot

时间:2023-06-05 17:12:07浏览次数:26  
标签:SpringBoot args LogUtils param Log4j message logger Logger

ログのUtilクラス:

package com.example.demoaop.common;

import com.sun.deploy.config.DefaultConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.HashMap;
import java.util.Map;

public class LogUtils {

    /**
     * 系统默认配置
     */
    private static DefaultConfig defaultConfig;

    /**
     * 本工具类的静态实例
     */
    private static LogUtils instance;

    /**
     * Logger实例
     */
    private static Logger logger = null;

    /**
     * 用于存储Logger对象集合
     */
    private static Map<Class, Logger> loggerMap = new HashMap<>();

    private LogUtils(){
        //System.out.println("构造函数");
    }

    /**
     * 初始静态实例(Object)
     * @param obj
     * @return
     */
    public synchronized static LogUtils getInstance(Object obj){
        if(instance == null){
            instance = new LogUtils();
        }
        //获取Logger实例
        LogUtils.logger = loggerMap.get(obj.getClass());
        if(LogUtils.logger == null){
            //利用Logger工厂获取Logger实例
            LogUtils.logger = LoggerFactory.getLogger(obj.getClass());
            //将调用Logger的类装载到Map中。
            loggerMap.put(obj.getClass(),LogUtils.logger);
        }
        return instance;
    }

    /**
     * 初始静态实例(Class)
     * @param clazz
     * @return
     */
    public synchronized static LogUtils getInstance(Class clazz){
        if(instance == null){
            instance = new LogUtils();
        }
        //获取Logger实例
        LogUtils.logger = loggerMap.get(clazz);
        if(LogUtils.logger == null){
            //利用Logger工厂获取Logger实例
            LogUtils.logger = LoggerFactory.getLogger(clazz);
            //将调用Logger的类装载到Map中。
            loggerMap.put(clazz,LogUtils.logger);
        }
        return instance;
    }

    private static void setBean(){
        setDefaultConfig();
    }

    private static void setDefaultConfig(){

    }

    /**
     * info消息(无参)
     * @param message
     */
    public void info(String message){
        LogUtils.logger.info(message);
    }

    /**
     * info消息(有参)
     * @param message
     * @param args
     */
    public void info(String message,Object... args){
        LogUtils.logger.info(message,args);
    }

    /**
     * debug消息(无参)
     * @param message
     */
    public void debug(String message){
        LogUtils.logger.debug(message);
    }
    /**
     * info消息(有参)
     * @param message
     * @param args
     */
    public void debug(String message,Object... args){
        LogUtils.logger.debug(message,args);
    }

    /**
     * error消息(无参)
     * @param message
     */
    public void error(String message){
        LogUtils.logger.error(message);
    }
    /**
     * info消息(有参)
     * @param message
     * @param args
     */
    public void error(String message,Object... args){
        LogUtils.logger.error(message,args);
    }

    /**
     * warn消息(无参)
     * @param message
     */
    public void warn(String message){
        LogUtils.logger.warn(message);
    }
    /**
     * warn消息(有参)
     * @param message
     * @param args
     */
    public void warn(String message,Object... args){
        LogUtils.logger.warn(message,args);
    }
}

  

 

标签:SpringBoot,args,LogUtils,param,Log4j,message,logger,Logger
From: https://www.cnblogs.com/lnsylt/p/17458302.html

相关文章

  • springboot中使用cache和redis
    知识点:springboot中使用cache和redis (1)springboot中,整合了cache,我们只需要,在入口类上加 @EnableCaching 即可开启缓存 例如:在service层使用@Cacheable和CacheEvict //添加缓存@Cacheable(cacheNames="TestCACHE",key="#root.methodName+'_'+#id")publicMap<String,......
  • 使用powermock写springboot2.7业务类的测试用例
    1,引入powermock依赖<dependency><groupId>org.powermock</groupId><artifactId>powermock-core</artifactId><version>2.0.9</version><scope>test</......
  • 【SpringBoot】如何配置静态资源的地址与访问路径
    静态资源,例如HTML文件、JS文件,设计到的SpringBoot配置有两项,一是“spring.mvc.static-path-pattern”,一是“spring.resources.static-locations”,很多人都难以分辨它们之间的差异,所以经常出现的结果就是404错误,无法找到静态资源。1.spring.mvc.static-path-patternspring.mvc.sta......
  • 为SpringBoot Admin监控的服务端加上登录认证
    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>packagecom.ciih.refineinner.config;importlombok.extern.slf4......
  • 为SpringBoot Admin加上登录认证
    依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>配置server:port:8000spring:security:user:n......
  • SpringBoot Admin的基本使用(单体应用)
    springboot项目和springbootadmin项目不建议放在一起,因为目的是为了监控,如果放在一起的话,一旦springboot挂了,springbootadmin也就一起挂了,监控就失去意义.搭建监控项目:<dependencies><dependency><groupId>org.springframework.boot</groupId>......
  • SpringBoot2.x跨域问题(CrossOrigin失效问题)
    方法一SpringBoot版本的不同,CrossOrigin失效了,正确配置如下:@CrossOrigin(originPatterns="*",allowCredentials="true",maxAge=3600)方法二如果以上方法还是不生效,最后的终极方法可以进行硬编码进行跨域设置:对需要跨域的接口,进行Response对象设置可跨域URL设置(*代表......
  • kettle web springboot mvn dockerfile
    远程构建dcokerfileFROMopenjdk:8-jdk-alpineasTEMP_BUILD_IMAGERUNset-eux&&sed-i's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g'/etc/apk/repositoriesRUNapkupdate&&\apkadd--no-cachebashcurlwget&&......
  • SpringBoot2 缓存之王caffeine
    <dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId><version>2.9.0</version></dependency>顺便写了个工具类配合SpringBoot使用:packag......
  • SpringBoot配置多个RabbitMq
    YMLrabbitmq:first:username:${app.appkey}password:${app.appkey}virtual-host:${app.appid}addresses:x.x.x.x:5672,x.x.x.x:5672#集群second:username:guestpassword:guestvirtual-host:/host:......