傻瓜式日志配置

logback最为简单的日志配置

如果是springboot ,直接

logging.config=classpath:logback-spring.xml

在对应的类里面直接调用

/**
 * 写日志
 */
private static Logger logger = LoggerFactory.getLogger(XXX.class);

如果非SpringBoot框架

直接将logback.groovy logback-test.xml logback.xml 放在资源路径下就可以

public URL findURLOfDefaultConfigurationFile(boolean updateStatus) {
    ClassLoader myClassLoader = Loader.getClassLoaderOfObject(this);
    URL url = this.findConfigFileURLFromSystemProperties(myClassLoader, updateStatus);
    if (url != null) {
        return url;
    } else {
        url = this.getResource("logback.groovy", myClassLoader, updateStatus);
        if (url != null) {
            return url;
        } else {
            url = this.getResource("logback-test.xml", myClassLoader, updateStatus);
            return url != null ? url : this.getResource("logback.xml", myClassLoader, updateStatus);
        }
    }
}

logback的源码如上,会自动去加上资源路径下的配置文件,顺序依次是

logback.groovy  logback-test.xml  logback.xml

接下来就是logback配置文件的内容了


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 从高到地低 OFF  FATAL  ERROR  WARN  INFO  DEBUG  TRACE  ALL -->
      <!-- 重置log位置 --> <property name ="LOG_HOME" value ="${HOME}/logs" ></property>
    
 
<!-- 日志格式 -->
    <property name="consoleLayoutPattern"
value ="%-20(%d{yyyyMMdd_HH:mm:ss.SSS} [%level] [%thread] [%logger] [%-4relative]) %msg%n" /> <property name ="fileLayoutPattern" value ="%-20(%d{yyyyMMdd_HH:mm:ss.SSS} [%level] [%thread] [%logger{10}] [%-4relative]) %msg%n" />
    <!-- 定义日志存在路径,和内容过滤 -->
<appender name ="STDOUT" class ="ch.qos.logback.core.ConsoleAppender" > <layout class ="ch.qos.logback.classic.PatternLayout" > <pattern>${consoleLayoutPattern} </pattern> </layout> </appender>
<!-- 定义日志存在路径,和内容过滤 -->
<appender name ="DEBUG_FILE" class ="ch.qos.logback.core.rolling.RollingFileAppender" > <file>${LOG_HOME}/zf-ud1exec-server/zf-ud1exec-server_debug.log </file> <rollingPolicy class ="ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > <fileNamePattern>${LOG_HOME}/zf-ud1exec-server/commonConfig_debug.log.%d{yyyy-MM-dd} </fileNamePattern> <maxHistory>10 </maxHistory> </rollingPolicy> <layout class ="ch.qos.logback.classic.PatternLayout" > <Pattern>${fileLayoutPattern} </Pattern> </layout> <filter class ="ch.qos.logback.classic.filter.LevelFilter" > <level>debug </level> <onMismatch>DENY </onMismatch> </filter> </appender> <appender name ="INFO_FILE" class ="ch.qos.logback.core.rolling.RollingFileAppender" > <file>${LOG_HOME}/zf-ud1exec-server/zf-ud1exec-server_info.log </file> <rollingPolicy class ="ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > <fileNamePattern>${LOG_HOME}/zf-ud1exec-server/commonConfig_info.log.%d{yyyy-MM-dd} </fileNamePattern> <maxHistory>10 </maxHistory> </rollingPolicy> <layout class ="ch.qos.logback.classic.PatternLayout" > <Pattern>${fileLayoutPattern} </Pattern> </layout> <filter class ="ch.qos.logback.classic.filter.LevelFilter" > <level>info </level> <onMismatch>DENY </onMismatch> </filter> </appender> <appender name ="ERROR_FILE" class ="ch.qos.logback.core.rolling.RollingFileAppender" > <file>${LOG_HOME}/zf-ud1exec-server/zf-ud1exec-server_error.log </file> <rollingPolicy class ="ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > <fileNamePattern>${LOG_HOME}/zf-ud1exec-server/zf-ud1exec-server_error.log.%d{yyyy-MM-dd} </fileNamePattern> <maxHistory>10 </maxHistory> </rollingPolicy> <layout class ="ch.qos.logback.classic.PatternLayout" > <Pattern>${fileLayoutPattern} </Pattern> </layout> <filter class ="ch.qos.logback.classic.filter.LevelFilter" > <level>error </level> <onMismatch>DENY </onMismatch> </filter> </appender> <!-- 定义包的日志级别 --> <logger name ="com.XXX.ud1exec" level ="DEBUG" /> <logger name ="org.apache.zookeeper" level ="ERROR" /> <logger name ="org.springframework" level ="ERROR" /> <logger name ="kafka" level ="ERROR" /> <logger name ="org.I0Itec" level ="ERROR" /> <logger name ="org.apache.hadoop" level ="ERROR" /> <logger name ="com.XXXX.common.utils" level ="ERROR" /> <root> <level value ="INFO" /> <!-- 系统全局日志输出最低级别 --> <appender-ref ref ="STDOUT" /> <appender-ref ref ="DEBUG_FILE" /> <appender-ref ref ="INFO_FILE" /> <appender-ref ref ="ERROR_FILE" /> </root> </configuration>
Kubernetes(简称k8s)是一种流行的容器编排和管理系统,它能够帮助我们更轻松地部署、扩展和管理容器化的应用程序。搭建傻瓜式的k8s教学环境可以让初学者更容易理解和上手。 要搭建傻瓜式教学环境,首先我们需要选择一个合适的虚拟机或云平台。常见的选择包括VirtualBox、VMware、AWS、GCP等。根据个人的喜好和需求,选一个自己最舒适的平台进行搭建。 安装完成后,我们需要下载和安装Docker以及Kubernetes工具。Docker用来创建和管理容器,而Kubernetes则用来编排和管理这些容器。在安装过程中,可以选择安装适合自己操作系统的版本,并跟随教程逐步完成。 接下来,我们可以设置一个虚拟网络和配置环境变量。Kubernetes需要一个私有网络来部署和通信,我们可以通过设置一些网络参数和环境变量来实现。这些参数包括网络IP地址范围、主机名称等。具体的设置方法可以参考相关文档或教程。 完成以上步骤后,我们就可以开始创建和管理容器了。首先,我们需要创建一个Kubernetes集群。集群由多台主机组成,每台主机上都运行着Docker以及Kubernetes。在集群中,我们可以使用kubectl命令行工具来操作和管理容器。例如,我们可以使用kubectl创建、删除、扩展和管理容器,也可以通过监控和日志来跟踪容器运行状态。 最后,我们需要编写一个简单的示例应用程序,并通过Kubernetes进行部署和管理。可以选择一个简单的Web应用程序,如Hello World,或者使用一个现有的应用程序进行演示。在部署过程中,我们需要创建一个容器映像、定义容器的资源需求、指定容器的副本数等。通过kubectl命令,我们可以将应用程序部署到集群中,并随时监控和管理。 总结而言,搭建傻瓜式教学环境包括选择合适的虚拟机或云平台、安装Docker和Kubernetes工具、设置虚拟网络和环境变量、创建和管理容器、编写示例应用程序以及部署和管理应用程序。通过这样一个简单的教学环境,初学者可以更容易地理解和学习Kubernetes的基本概念和使用方法。希望这样一个简单的指导能够帮助大家更好地上手Kubernetes。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值