Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
8
8timerapiv200
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
8timerv2
8timerapiv200
Commits
fb031b9f
Commit
fb031b9f
authored
4 years ago
by
rex.tan
Committed by
chenzg
3 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加日志收集
parent
f903278b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
101 additions
and
16 deletions
+101
-16
src/main/java/cn/timer/api/aspect/RequestAop.java
+10
-16
src/main/resources/logback-spring.xml
+91
-0
No files found.
src/main/java/cn/timer/api/aspect/RequestAop.java
View file @
fb031b9f
...
...
@@ -2,9 +2,10 @@ package cn.timer.api.aspect;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
java.util.ArrayList
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.Enumeration
;
import
java.util.
List
;
import
java.util.
TimeZone
;
import
javax.servlet.http.HttpServletRequest
;
...
...
@@ -24,7 +25,6 @@ import com.alibaba.fastjson.JSONArray;
import
com.alibaba.fastjson.JSONObject
;
import
cn.timer.api.config.exception.CustomException
;
import
cn.timer.api.utils.DateUtil
;
import
lombok.extern.slf4j.Slf4j
;
/**
...
...
@@ -38,18 +38,6 @@ import lombok.extern.slf4j.Slf4j;
@Component
@Order
(
999
)
public
class
RequestAop
{
/**
* 排除拦截的url列表
*/
static
final
List
<
String
>
LOGIN_URL
=
new
ArrayList
<
String
>()
{
private
static
final
long
serialVersionUID
=
1L
;
{
// 第三方数据同步接口
add
(
"/rest/sync/data"
);
// 版本检查接口
add
(
"/rest/base/app/baseVersionUpgrade"
);
}
};
@Pointcut
(
"execution(* cn.timer..*.*Controller.*(..))"
)
public
void
init
()
{
...
...
@@ -126,7 +114,7 @@ public class RequestAop {
// }
json
.
put
(
"url"
,
url
);
json
.
put
(
"timestamp"
,
System
.
currentTimeMillis
());
json
.
put
(
"visitTime"
,
DateUtil
.
now2String
());
json
.
put
(
"visitTime"
,
now2String
());
json
.
put
(
"message"
,
message
);
json
.
put
(
"status"
,
status
);
json
.
put
(
"executionTime"
,
executionTime
);
...
...
@@ -214,4 +202,10 @@ public class RequestAop {
return
urlArgsJson
;
}
private
static
String
now2String
()
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
sdf
.
setTimeZone
(
TimeZone
.
getTimeZone
(
"Asia/Shanghai"
));
Date
now
=
new
Date
();
return
sdf
.
format
(
now
);
}
}
This diff is collapsed.
Click to expand it.
src/main/resources/logback-spring.xml
0 → 100644
View file @
fb031b9f
<?xml version="1.0" encoding="UTF-8"?>
<configuration
scan=
"true"
scanPeriod=
"60 seconds"
debug=
"false"
>
<!--2、设置上下文名称 每个logger都关联到logger上下文,默认上下文名称为“default”。但可以使用设置成其他名字,用于区分不同应用程序的记录。
一旦设置,不能修改,可以通过 %contextName 来打印日志上下文名称,一般来说我们不用这个属性,可有可无。 -->
<!--<contextName>cool_is_life</contextName> -->
<!--3、设置变量 用来定义变量值的标签, 有两个属性,name和value;其中name的值是变量的名称,value的值时变量定义的值。 通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 -->
<!--<property name="log.path" value="/logs/logback.log" /> -->
<!--<property name="log.path" value="/logs/logback" /> -->
<property
name=
"logback.logdir"
value=
"/deploy/logs/"
/>
<property
name=
"logback.appname"
value=
"8timer-api"
/>
<!--4、appender用来格式化日志输出节点,有俩个属性name和class,class用来指定哪种输出策略,常用就是控制台输出策略和文件输出策略。
控制台输出 ConsoleAppender 输出到文件 RollingFileAppender -->
<!--输出到控制台 -->
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder>
<pattern>
%d{YYYY-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger - %msg%n
</pattern>
<charset>
UTF-8
</charset>
</encoder>
</appender>
<!--输出到文件 -->
<appender
name=
"file"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!--如果只是想要 Info 级别的日志,只是过滤 info 还是会输出 Error 日志,因为 Error 的级别高,所以我们使用下面的策略,可以避免输出
Error 的日志 -->
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<!--过滤 Error -->
<level>
ERROR
</level>
<!--匹配到就禁止 -->
<onMatch>
DENY
</onMatch>
<!--没有匹配到就允许 -->
<onMismatch>
ACCEPT
</onMismatch>
</filter>
<!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则,如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天
的日志改名为今天的日期。即,<File> 的日志都是当天的。 -->
<file>
${logback.logdir}/${logback.appname}.info.log
</file>
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy -->
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间 -->
<FileNamePattern>
${logback.logdir}/bak/${logback.appname}.info.%d{yyyy-MM-dd}.%i.log
</FileNamePattern>
<!--只保留最近7天的日志 -->
<maxHistory>
7
</maxHistory>
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志 -->
<totalSizeCap>
1GB
</totalSizeCap>
<timeBasedFileNamingAndTriggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<maxFileSize>
100MB
</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>
%d{YYYY-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger - %msg%n
</pattern>
</encoder>
</appender>
<appender
name=
"fileErrorLog"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!--如果只是想要 Error 级别的日志,那么需要过滤一下,默认是 info 级别的,ThresholdFilter -->
<filter
class=
"ch.qos.logback.classic.filter.ThresholdFilter"
>
<level>
error
</level>
</filter>
<!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则 如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天
的日志改名为今天的日期。即,<File> 的日志都是当天的。 -->
<File>
${logback.logdir}/${logback.appname}.error.log
</File>
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy -->
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间 -->
<FileNamePattern>
${logback.logdir}/bak/${logback.appname}.error.%d{yyyy-MM-dd}.%i.log
</FileNamePattern>
<!--只保留最近7天的日志 -->
<maxHistory>
7
</maxHistory>
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志 -->
<!--<totalSizeCap>1GB</totalSizeCap> -->
<timeBasedFileNamingAndTriggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<maxFileSize>
100MB
</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!--日志输出编码格式化 -->
<encoder>
<charset>
UTF-8
</charset>
<pattern>
%d [%thread] %-5level %logger{36} %line - %msg%n
</pattern>
</encoder>
</appender>
<!--1、root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性。 level:用来设置打印级别,大小写无关:TRACE,
DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能设置为INHERITED或者同义词NULL。 默认是DEBUG。 可以包含零个或多个元素,标识这个appender将会添加到这个loger。 -->
<root
level=
"INFO"
>
<appender-ref
ref=
"console"
/>
<appender-ref
ref=
"file"
/>
<appender-ref
ref=
"fileErrorLog"
/>
</root>
</configuration>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment