1.springboot中日志的logback配置

1 <?xml version="1.0" encoding="UTF-8"?>
 2 <configuration>
 3     <!-- 日志存放路径 -->
 4     <property name="log.path" value="F:/项目/springboot+ruoyi/ruoyi-vue/logs" />
 5     <!-- 日志输出格式 -->
 6     <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
 7 
 8     <!-- 控制台输出 -->
 9     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
10         <encoder>
11             <pattern>${log.pattern}</pattern>
12         </encoder>
13     </appender>
14     
15     <!-- 系统日志输出 -->
16     <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
17         <file>${log.path}/sys-info.log</file>
18         <!-- 循环政策:基于时间创建日志文件 -->
19         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
20             <!-- 日志文件名格式 -->
21             <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
22             <!-- 日志最大的历史 60天 -->
23             <maxHistory>60</maxHistory>
24         </rollingPolicy>
25         <encoder>
26             <pattern>${log.pattern}</pattern>
27         </encoder>
28         <filter class="ch.qos.logback.classic.filter.LevelFilter">
29             <!-- 过滤的级别 -->
30             <level>INFO</level>
31             <!-- 匹配时的操作:接收(记录) -->
32             <onMatch>ACCEPT</onMatch>
33             <!-- 不匹配时的操作:拒绝(不记录) -->
34             <onMismatch>DENY</onMismatch>
35         </filter>
36     </appender>
37     
38     <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
39         <file>${log.path}/sys-error.log</file>
40         <!-- 循环政策:基于时间创建日志文件 -->
41         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
42             <!-- 日志文件名格式 -->
43             <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
44             <!-- 日志最大的历史 60天 -->
45             <maxHistory>60</maxHistory>
46         </rollingPolicy>
47         <encoder>
48             <pattern>${log.pattern}</pattern>
49         </encoder>
50         <filter class="ch.qos.logback.classic.filter.LevelFilter">
51             <!-- 过滤的级别 -->
52             <level>ERROR</level>
53             <!-- 匹配时的操作:接收(记录) -->
54             <onMatch>ACCEPT</onMatch>
55             <!-- 不匹配时的操作:拒绝(不记录) -->
56             <onMismatch>DENY</onMismatch>
57         </filter>
58     </appender>
59     
60     <!-- 用户访问日志输出  -->
61     <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
62         <file>${log.path}/sys-user.log</file>
63         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
64             <!-- 按天回滚 daily -->
65             <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
66             <!-- 日志最大的历史 60天 -->
67             <maxHistory>60</maxHistory>
68         </rollingPolicy>
69         <encoder>
70             <pattern>${log.pattern}</pattern>
71         </encoder>
72     </appender>
73     
74     <!-- 系统模块日志级别控制  -->
75     <logger name="com.ruoyi" level="info" />
76     <!-- Spring日志级别控制  -->
77     <logger name="org.springframework" level="warn" />
78 
79     <root level="info">
80         <appender-ref ref="console" />
81     </root>
82     
83     <!--系统操作日志-->
84     <root level="info">
85         <appender-ref ref="file_info" />
86         <appender-ref ref="file_error" />
87     </root>
88     
89     <!--系统用户操作日志-->
90     <logger name="sys-user" level="info">
91         <appender-ref ref="sys-user"/>
92     </logger>
93 </configuration>

文件相对保存路径设置可分以下三种:

1. value=“logs” – 表示保存到程序运行目录,在tomcat中为bin目录

2. value=“/logs” – 表示保存到系统目录

3. value=“../logs” – 表示保存到程序运行目录的父目录

补充知识:logback-spring.xml中三种相对路径生成的日志文件的位置

logback-spring.xml中关于路径配置的三种写法:

写法1:<property name="log.path" value="logs" />

写法2:<property name="log.path" value="/logs" />

写法3:<property name="log.path" value="../logs" />

 

项目(路径D:\workspace\Test)启动的三种场景:

场景1:项目所在workspace在D盘,直接从eclipse中启动

场景2:打成jar包放在桌面的test文件夹下,用bat文件(java -jar Test.jar)启动

场景3:jar文件放在centOS的/test目录下,用sh文件(nohup java -jar Test.jar &)启动

 

场景1

场景2

场景3

写法1

D:\workspace\Test\logs\{name}

C:\Users\{user}\Desktop\logs\{name}

/test/logs/{name}

写法2

D:\logs\{name}

C:\logs\{name}

/logs/{name}

写法3

D:\workspace\logs\{name}

C:\Users\{user}\logs\{name}

/logs/{name}

2.vue中一些开发随记

①export default和export的区别

export主要用于对外输出本模块变量的接口,一个文件就可以被理解为一个模块。export就是导出。

import就是在一个模块中加载另一个含有export接口的模块, import就是导入。

export default和export都能导出一个模块里面的常量,函数,文件,模块等,在其它文件或模块中通过import来导入常量,函数,文件或模块。这样就可以使用它们了。但是,在一个文件或模块中,export,import可以有多个,export default却只能有一个。

通过export方式导出,在导入的时候需要加{}大括号,export default 就不需要{}。

②Vue中ref与$refs的使用

ref 被用来给元素或子组件注册引用信息,引用信息将会注册在父组件的 $refs 对象上

用法: 子组件上定义ref="refName", 父组件的方法中用 this.$refs.refName.method 去调用子组件方法