一、Springboot中的logback配置:
由于springboot默认集成的就是logback,所以,我们也不需要另外再引入什么依赖;
1、在 src/resources 目录下准备好logback的核心配置文件:logback.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 日志存放路径 --> <property name="log.path" value="${logging.path:-${java.io.tmpdir}/logs}"/> <!-- 日志输出格式 --> <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - [%method,%line] - %msg%n"/> <!-- 获取主机名 --> <property name="hostname" value="${hostname}"/> <!-- 控制台输出 --> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${log.pattern}</pattern> <charset>UTF-8</charset> </encoder> </appender> <!-- CRM系统日志输出 --> <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}/${hostname}-info.log</file> <!-- 循环政策:基于时间创建日志文件 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 日志文件名格式 --> <fileNamePattern>${log.path}/%d{yyyy-MM-dd,aux}/${hostname}-info.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 日志最大的历史 60天 --> <maxHistory>5</maxHistory> </rollingPolicy> <encoder> <pattern>${log.pattern}</pattern> <charset>UTF-8</charset> </encoder> </appender> <logger name="com.isales" level="info" additivity="false"> <appender-ref ref="console"/><!-- 输出到控制台 --> <appender-ref ref="file_info"/><!-- 输出到日志文件 --> </logger> <!-- 顶层包日志输出配置 即默认配置 --> <root level="info"> <appender-ref ref="console"/><!-- 输出到控制台 --> <appender-ref ref="file_info"/><!-- 输出到日志文件 --> </root> </configuration>
2、在springboot的核心配置文件中做以下配置:
logging: config: classpath:logback.xml level: root: ${LOGGING_LEVEL:info} com.isales: ${LOGGING_LEVEL:info}
注:我们用到了一个内置的变量:${java.io.tmpdir},此变量在Windows和Linux的默认值是不一样的,分别对应如下:
Windows:C:\Users\登录用户~1\AppData\Local\Temp\
Linux:/tmp
至于项目如何打包,构建镜像,发布k8s就不是这里该介绍的内容了!
二、在k8s上为对应的服务配置pvc
1、创建pvc:
2、挂载log日志文件:
以上截图为Rancher上面的操作截图!
三、在需要的服务器上,挂载网路nfs目录
1、创建目录文件夹:
mkdir isales-crm-prod-logs
2、mount挂载网络文件:
172.18.52.200:/pvc_d6f0277b_01c1_4770_a749_a732e3b5f8b4 /root/isales-crm-prod-logs
3、日志从k8s中挂载到服务器中的操作就完成了:
[root@portal-test ~]# ll -h /root/isales-crm-prod-logs/ total 892K drwxr-xr-x. 2 nobody nobody 4.0K 2024/08/23 08:29:21 2024-08-22 drwxr-xr-x. 2 nobody nobody 4.0K 2024/08/25 12:01:45 2024-08-24 drwxr-xr-x. 2 nobody nobody 4.0K 2024/08/26 08:28:49 2024-08-25 drwxr-xr-x. 2 nobody nobody 4.0K 2024/08/27 00:00:44 2024-08-26 drwxr-xr-x. 2 nobody nobody 4.0K 2024/08/28 00:00:36 2024-08-27 drwxr-xr-x. 2 nobody nobody 4.0K 2024/08/29 04:45:33 2024-08-28 drwxr-xr-x. 2 nobody nobody 4.0K 2024/08/30 08:55:56 2024-08-29 drwxr-xr-x. 2 nobody nobody 4.0K 2024/08/31 07:11:44 2024-08-30 -rw-r--r--. 1 nobody nobody 17K 2024/08/23 09:42:28 isales-crm-547bd98cb8-q46sc-info.log -rw-r--r--. 1 nobody nobody 127K 2024/08/29 13:42:34 isales-crm-549bf9989d-7mnxs-info.log -rw-r--r--. 1 nobody nobody 31K 2024/08/22 19:23:49 isales-crm-5b8649598b-f6v8z-info.log -rw-r--r--. 1 nobody nobody 606 2024/08/31 08:47:44 isales-crm-5f697c984f-g2p6j-info.log -rw-r--r--. 1 nobody nobody 4.6K 2024/08/31 11:49:28 isales-crm-5f697c984f-mwmjm-info.log -rw-r--r--. 1 nobody nobody 9.6K 2024/08/30 11:48:09 isales-crm-66bb766cd6-xw6fh-info.log -rw-r--r--. 1 nobody nobody 66K 2024/08/22 18:50:31 isales-crm-6b7f7c45fc-kxqhb-info.log -rw-r--r--. 1 nobody nobody 126K 2024/08/22 18:19:29 isales-crm-76756d9967-pv5jp-info.log -rw-r--r--. 1 nobody nobody 159K 2024/08/29 13:35:46 isales-crm-76c576f8bb-whkxc-info.log -rw-r--r--. 1 nobody nobody 170K 2024/08/30 17:10:10 isales-crm-799cb57d8c-9m6jk-info.log -rw-r--r--. 1 nobody nobody 127K 2024/08/30 17:31:00 isales-crm-799cb57d8c-ksj4j-info.log