Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nouiWithSpringMVC
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gechengyang
nouiWithSpringMVC
Commits
6c96bf07
Commit
6c96bf07
authored
4 years ago
by
cjh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
日志打印数据库需求 框架搭建
parent
edda4758
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
209 additions
and
67 deletions
+209
-67
LoginController.java
...org/sss/presentation/noui/controller/LoginController.java
+2
-0
SqlLogAppender.java
...in/java/org/sss/presentation/noui/log/SqlLogAppender.java
+96
-0
LogAnnotation.java
...java/org/sss/presentation/noui/log/aop/LogAnnotation.java
+12
-0
LogAop.java
src/main/java/org/sss/presentation/noui/log/aop/LogAop.java
+39
-0
log4j.xml
src/main/resources/log4j.xml
+46
-41
log4j2.xml
src/main/resources/log4j2.xml
+0
-22
spring-mvc.xml
src/main/resources/spring-mvc.xml
+14
-4
No files found.
src/main/java/org/sss/presentation/noui/controller/LoginController.java
View file @
6c96bf07
...
...
@@ -29,6 +29,7 @@ import org.sss.presentation.noui.context.NoUiContextManager;
import
org.sss.presentation.noui.jwt.JWT
;
import
org.sss.presentation.noui.jwt.JwtLogin
;
import
org.sss.presentation.noui.jwt.RedisLoginInfo
;
import
org.sss.presentation.noui.log.aop.LogAnnotation
;
import
org.sss.presentation.noui.util.NoUiPresentationUtil
;
import
org.sss.presentation.noui.util.NumericUtil
;
import
org.sss.presentation.noui.util.RedisUtil
;
...
...
@@ -42,6 +43,7 @@ public class LoginController {
@Autowired
private
NoUiVersion
noUiVersion
;
@LogAnnotation
@ResponseBody
@RequestMapping
(
value
=
"/login"
,
method
=
RequestMethod
.
POST
)
public
Object
login
(
@RequestBody
Map
<
String
,
Object
>
dataMap
,
HttpServletRequest
request
,
HttpSession
session
)
{
...
...
This diff is collapsed.
Click to expand it.
src/main/java/org/sss/presentation/noui/log/SqlLogAppender.java
0 → 100644
View file @
6c96bf07
package
org
.
sss
.
presentation
.
noui
.
log
;
import
org.apache.log4j.AppenderSkeleton
;
import
org.apache.log4j.Layout
;
import
org.apache.log4j.MDC
;
import
org.apache.log4j.PatternLayout
;
import
org.apache.log4j.spi.LoggingEvent
;
import
org.sss.presentation.noui.common.Constants
;
import
org.sss.presentation.noui.log.aop.LogAop
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
public
class
SqlLogAppender
extends
AppenderSkeleton
{
private
PatternLayout
patternLayout
;
// protected String pattern;
protected
static
Map
<
String
,
List
>
map
=
new
ConcurrentHashMap
();
public
Map
<
String
,
List
>
getMap
(){
return
map
;
}
// public String getPattern() {
// return pattern;
// }
//
// public void setPattern(String pattern) {
// this.pattern = pattern;
// }
public
PatternLayout
getPatternLayout
()
{
return
patternLayout
;
}
public
void
setPatternLayout
(
PatternLayout
patternLayout
)
{
this
.
patternLayout
=
patternLayout
;
}
@Override
protected
void
append
(
LoggingEvent
loggingEvent
)
{
String
message
=
this
.
subAppend
(
loggingEvent
);
String
thread_name
=
(
String
)
MDC
.
get
(
LogAop
.
THREAD_NAME
);
if
(
thread_name
==
null
)
return
;
if
(
map
.
containsKey
(
thread_name
)){
map
.
get
(
thread_name
).
add
(
message
);
}
else
{
List
list
=
new
ArrayList
();
list
.
add
(
message
);
map
.
put
(
thread_name
,
list
);
}
}
public
String
subAppend
(
LoggingEvent
event
)
{
// PatternLayout patternLayout = new PatternLayout();
// patternLayout.setConversionPattern(pattern);
// setLayout(patternLayout);
String
result
;
if
(
layout
==
null
){
result
=
event
.
getRenderedMessage
();
}
else
{
result
=
layout
.
format
(
event
);
StringBuffer
buffer
=
new
StringBuffer
(
result
);
if
(
layout
.
ignoresThrowable
())
{
String
[]
s
=
event
.
getThrowableStrRep
();
if
(
s
!=
null
)
{
int
len
=
s
.
length
;
for
(
int
i
=
0
;
i
<
len
;
++
i
)
{
buffer
.
append
(
s
[
i
]);
buffer
.
append
(
Layout
.
LINE_SEP
);
}
}
}
result
=
new
String
(
buffer
);
}
return
result
;
}
@Override
public
void
close
()
{
}
@Override
public
boolean
requiresLayout
()
{
return
false
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/org/sss/presentation/noui/log/aop/LogAnnotation.java
0 → 100644
View file @
6c96bf07
package
org
.
sss
.
presentation
.
noui
.
log
.
aop
;
import
java.lang.annotation.*
;
/**
* Created by cjh on 2019/12/12 0012.
*/
@Target
(
ElementType
.
METHOD
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Documented
public
@interface
LogAnnotation
{
}
This diff is collapsed.
Click to expand it.
src/main/java/org/sss/presentation/noui/log/aop/LogAop.java
0 → 100644
View file @
6c96bf07
package
org
.
sss
.
presentation
.
noui
.
log
.
aop
;
import
org.apache.log4j.Logger
;
import
org.apache.log4j.MDC
;
import
org.aspectj.lang.JoinPoint
;
import
org.sss.presentation.noui.log.SqlLogAppender
;
import
java.util.List
;
import
java.util.Map
;
public
class
LogAop
{
public
final
static
String
THREAD_NAME
=
"thread_name"
;
public
void
before
(
JoinPoint
joinPoint
){
MDC
.
put
(
THREAD_NAME
,
Thread
.
currentThread
().
getName
());
}
public
void
after
(
JoinPoint
joinPoint
){
String
thread_name
=
(
String
)
MDC
.
get
(
THREAD_NAME
);
MDC
.
clear
();
//发送每笔交易的日志到MQ
SqlLogAppender
sqlLogAppender
=
(
SqlLogAppender
)
Logger
.
getRootLogger
().
getAppender
(
"SqlLog"
);
if
(
sqlLogAppender
!=
null
){
Map
<
String
,
List
>
map
=
sqlLogAppender
.
getMap
();
List
<
String
>
list
=
map
.
get
(
thread_name
);
StringBuffer
buffer
=
new
StringBuffer
();
if
(
list
!=
null
){
for
(
String
str:
list
){
buffer
.
append
(
str
);
}
}
map
.
remove
(
thread_name
);
}
}
}
This diff is collapsed.
Click to expand it.
src/main/resources/log4j.xml
View file @
6c96bf07
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration
xmlns:log4j=
"http://jakarta.apache.org/log4j/"
debug=
"false"
>
<appender
name=
"FILE"
class=
"org.apache.log4j.DailyRollingFileAppender"
>
<param
name=
"Threshold"
value=
"ERROR"
/>
<param
name=
"Encoding"
value=
"UTF-8"
/>
<param
name=
"File"
value=
"../logs/eibs.log"
/>
<param
name=
"Append"
value=
"true"
/>
<param
name=
"DatePattern"
value=
"'.'yyyy-MM-dd"
/>
<layout
class=
"org.apache.log4j.PatternLayout"
>
<param
name=
"ConversionPattern"
value=
"%d %-5p [%c] (%t) %m%n"
/>
</layout>
<filter
class=
"log.PatternFilter"
>
<param
name=
"Pattern"
value=
"org.sss.*"
/>
<param
name=
"AcceptOnMatch"
value=
"true"
/>
</filter>
</appender>
<appender
name=
"CONSOLE"
class=
"org.apache.log4j.ConsoleAppender"
>
<param
name=
"Threshold"
value=
"TRACE"
/>
<layout
class=
"org.apache.log4j.PatternLayout"
>
<param
name=
"ConversionPattern"
value=
"%d{ABSOLUTE} %-5p [%-10t][%c{1}] %m%n"
/>
</layout>
<filter
class=
"org.apache.log4j.varia.LevelRangeFilter"
>
<param
name=
"LevelMax"
value=
"ERROR"
/>
<param
name=
"LevelMin"
value=
"TRACE"
/>
</filter>
</appender>
<category
name=
"org.sss"
>
<priority
value=
"INFO"
/>
</category>
<category
name=
"org.hibernate"
>
<priority
value=
"ERROR"
/>
</category>
<category
name=
"org.apache"
>
<priority
value=
"ERROR"
/>
</category>
<category
name=
"com.opensymphony"
>
<priority
value=
"ERROR"
/>
</category>
<root>
<level
value=
"WARN"
/>
<appender-ref
ref=
"CONSOLE"
/>
<appender-ref
ref=
"FILE"
/>
</root>
<appender
name=
"FILE"
class=
"org.apache.log4j.DailyRollingFileAppender"
>
<param
name=
"Threshold"
value=
"ERROR"
/>
<param
name=
"Encoding"
value=
"UTF-8"
/>
<param
name=
"File"
value=
"../logs/eibs.log"
/>
<param
name=
"Append"
value=
"true"
/>
<param
name=
"DatePattern"
value=
"'.'yyyy-MM-dd"
/>
<layout
class=
"org.apache.log4j.PatternLayout"
>
<param
name=
"ConversionPattern"
value=
"%d %-5p [%c] (%t) %m%n"
/>
</layout>
</appender>
<appender
name=
"CONSOLE"
class=
"org.apache.log4j.ConsoleAppender"
>
<param
name=
"Threshold"
value=
"TRACE"
/>
<layout
class=
"org.apache.log4j.PatternLayout"
>
<param
name=
"ConversionPattern"
value=
"%d{ABSOLUTE} %-5p [%-10t][%c{1}] %m%n"
/>
</layout>
<filter
class=
"org.apache.log4j.varia.LevelRangeFilter"
>
<param
name=
"LevelMax"
value=
"ERROR"
/>
<param
name=
"LevelMin"
value=
"TRACE"
/>
</filter>
</appender>
<appender
name=
"SqlLog"
class=
"org.sss.presentation.noui.log.SqlLogAppender"
>
<param
name=
"Threshold"
value=
"ERROR"
/>
<layout
class=
"org.apache.log4j.PatternLayout"
>
<param
name=
"ConversionPattern"
value=
"%d %-5p [%c] (%t) %m%n"
/>
</layout>
</appender>
<category
name=
"org.sss"
>
<priority
value=
"INFO"
/>
</category>
<category
name=
"org.hibernate"
>
<priority
value=
"ERROR"
/>
</category>
<category
name=
"org.apache"
>
<priority
value=
"ERROR"
/>
</category>
<category
name=
"com.opensymphony"
>
<priority
value=
"ERROR"
/>
</category>
<root>
<level
value=
"WARN"
/>
<appender-ref
ref=
"CONSOLE"
/>
<appender-ref
ref=
"FILE"
/>
<appender-ref
ref=
"SqlLog"
/>
</root>
</log4j:configuration>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/resources/log4j2.xml
deleted
100644 → 0
View file @
edda4758
<?xml version="1.0" encoding="UTF-8"?>
<Configuration
status=
"INFO"
>
<Appenders>
<Console
name=
"Console"
target=
"SYSTEM_OUT"
>
<PatternLayout
pattern=
"%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"
/>
</Console>
<File
name=
"File"
fileName=
"log/eibs-designer.log"
>
<PatternLayout
pattern=
"%d %-5p %C{2} [%t] %m%n"
/>
</File>
</Appenders>
<Loggers>
<Logger
name=
"org.sss"
level=
"DEBUG"
/>
<Logger
name=
"org.hibernate"
level=
"ERROR"
/>
<Logger
name=
"org.apache"
level=
"ERROR"
/>
<Logger
name=
"com.opensymphony"
level=
"ERROR"
/>
<Root
level=
"DEBUG"
>
<AppenderRef
ref=
"Console"
/>
<AppenderRef
ref=
"File"
/>
</Root>
</Loggers>
</Configuration>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/resources/spring-mvc.xml
View file @
6c96bf07
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:mvc=
"http://www.springframework.org/schema/mvc"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:mvc=
"http://www.springframework.org/schema/mvc"
xmlns:aop=
"http://www.springframework.org/schema/aop"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"
>
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
"
>
<mvc:annotation-driven
/>
...
...
@@ -45,6 +46,15 @@
<property
name=
"version"
value=
"V1.0.0"
/>
</bean>
<bean
id=
"logAop"
class=
"org.sss.presentation.noui.log.aop.LogAop"
/>
<aop:config>
<aop:aspect
id=
"handler"
ref=
"logAop"
>
<aop:pointcut
id=
"point"
expression=
"execution(* org.sss.presentation.noui.controller..*(..)) && @annotation(org.sss.presentation.noui.log.aop.LogAnnotation)"
/>
<aop:before
method=
"before"
pointcut-ref=
"point"
/>
<aop:after
method=
"after"
pointcut-ref=
"point"
/>
</aop:aspect>
</aop:config>
<!-- 配置自动扫描的包 -->
<context:component-scan
base-package=
"org.sss.presentation.noui.controller"
></context:component-scan>
...
...
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