Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
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
youjj
cloud-platform
Commits
6c77f30c
Commit
6c77f30c
authored
Nov 12, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加日志异常处理
parent
73a081fd
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
104 additions
and
59 deletions
+104
-59
pom.xml
ace-common/pom.xml
+0
-4
AcceptFilter.java
...m/github/wxiaoqi/security/common/filter/AcceptFilter.java
+1
-10
GlobalExceptionHandler.java
...iaoqi/security/common/handler/GlobalExceptionHandler.java
+19
-15
MailServiceImpl.java
...hub/wxiaoqi/security/common/log/Impl/MailServiceImpl.java
+0
-30
pom.xml
xx-universal/xx-universal-server/pom.xml
+4
-0
MailServiceBiz.java
.../java/com/xxfc/platform/universal/biz/MailServiceBiz.java
+59
-0
EmailSendController.java
...fc/platform/universal/controller/EmailSendController.java
+21
-0
No files found.
ace-common/pom.xml
View file @
6c77f30c
...
...
@@ -38,10 +38,6 @@
<artifactId>
spring-cloud-sleuth-zipkin
</artifactId>
<version>
2.1.0.RELEASE
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-mail
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-alibaba-sentinel
</artifactId>
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/filter/AcceptFilter.java
View file @
6c77f30c
...
...
@@ -12,16 +12,7 @@ public class AcceptFilter extends Filter<ILoggingEvent> {
// MailServiceImpl mailService;
@Override
public
FilterReply
decide
(
ILoggingEvent
event
)
{
if
(
event
.
getLoggerName
().
startsWith
(
"com.xxfc.platform"
)
||
event
.
getLoggerName
().
startsWith
(
"com.github.wxiaoqi"
)
||
event
.
getLoggerName
().
contains
(
"Exception"
))
{
if
(
event
.
getLoggerName
().
contains
(
"Exception"
)
||
event
.
getLoggerName
().
contains
(
"ERROR"
))
{
//邮件日志
// try {
// log.info("发送异常邮件,邮件内容:【服务器异常】: {}", event.getLoggerName() + ":" +event.getMessage());
// mailService.sendSimpleMail("jiaoruizhen@126.com", "服务器异常", event.getLoggerName() + ":" +event.getMessage());
// }catch (Exception e) {
// log.error("发送异常邮件失败,异常信息: {}", e);
// }
}
if
(
event
.
getLoggerName
().
contains
(
"Exception"
)
||
event
.
getLoggerName
().
contains
(
"ERROR"
)
||
event
.
getLoggerName
().
startsWith
(
"com.xxfc.platform"
)
||
event
.
getLoggerName
().
startsWith
(
"com.github.wxiaoqi"
)
||
event
.
getLoggerName
().
contains
(
"Exception"
))
{
return
FilterReply
.
ACCEPT
;
}
else
{
return
FilterReply
.
DENY
;
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/handler/GlobalExceptionHandler.java
View file @
6c77f30c
...
...
@@ -5,24 +5,40 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
import
com.github.wxiaoqi.security.common.exception.auth.ClientTokenException
;
import
com.github.wxiaoqi.security.common.exception.auth.UserInvalidException
;
import
com.github.wxiaoqi.security.common.exception.auth.UserTokenException
;
import
com.github.wxiaoqi.security.common.log.Impl.MailServiceImpl
;
import
com.github.wxiaoqi.security.common.msg.BaseResponse
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.ControllerAdvice
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.context.request.WebRequest
;
import
org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler
;
import
javax.servlet.http.HttpServletResponse
;
import
static
org
.
springframework
.
http
.
HttpStatus
.
NOT_EXTENDED
;
/**
* Created by ace on 2017/9/8.
*/
@ControllerAdvice
(
"com.github.wxiaoqi.security"
)
@ControllerAdvice
@ResponseBody
public
class
GlobalExceptionHandler
{
public
class
GlobalExceptionHandler
extends
ResponseEntityExceptionHandler
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
GlobalExceptionHandler
.
class
);
/**
* 在controller里面内容执行之前,校验一些参数不匹配啊,Get post方法不对啊之类的
*/
@Override
protected
ResponseEntity
<
Object
>
handleExceptionInternal
(
Exception
ex
,
Object
body
,
HttpHeaders
headers
,
HttpStatus
status
,
WebRequest
request
)
{
logger
.
error
(
ex
.
getMessage
(),
ex
);
return
new
ResponseEntity
<>(
"出错了"
,
NOT_EXTENDED
);
}
@ExceptionHandler
(
ClientTokenException
.
class
)
public
BaseResponse
clientTokenExceptionHandler
(
HttpServletResponse
response
,
ClientTokenException
ex
)
{
response
.
setStatus
(
403
);
...
...
@@ -50,7 +66,6 @@ public class GlobalExceptionHandler {
if
(
0
==
ex
.
getStatus
())
{
response
.
setStatus
(
500
);
}
sendEmail
(
ex
);
return
new
BaseResponse
(
ex
.
getStatus
(),
ex
.
getMessage
());
}
...
...
@@ -58,17 +73,6 @@ public class GlobalExceptionHandler {
public
BaseResponse
otherExceptionHandler
(
HttpServletResponse
response
,
Exception
ex
)
{
response
.
setStatus
(
500
);
logger
.
error
(
ex
.
getMessage
(),
ex
);
sendEmail
(
ex
);
return
new
BaseResponse
(
CommonConstants
.
EX_OTHER_CODE
,
ex
.
getMessage
());
}
public
void
sendEmail
(
Exception
ex
)
{
try
{
logger
.
info
(
"发送异常邮件,邮件内容:【服务器异常】: {}"
,
ex
.
getMessage
()
+
":"
+
ex
);
MailServiceImpl
mailService
=
new
MailServiceImpl
();
mailService
.
sendSimpleMail
(
"jiaoruizhen@126.com"
,
"服务器异常"
,
ex
.
getMessage
()
+
":"
+
ex
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"发送异常邮件失败,异常信息: {}"
,
e
);
}
}
}
ace-common/src/main/java/com/github/wxiaoqi/security/common/log/Impl/MailServiceImpl.java
View file @
6c77f30c
package
com
.
github
.
wxiaoqi
.
security
.
common
.
log
.
Impl
;
import
com.github.wxiaoqi.security.common.util.process.SystemConfig
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.mail.SimpleMailMessage
;
import
org.springframework.mail.javamail.JavaMailSender
;
@Slf4j
public
class
MailServiceImpl
{
@Autowired
private
JavaMailSender
mailSender
;
public
void
sendSimpleMail
(
String
to
,
String
subject
,
String
content
)
{
SimpleMailMessage
message
=
new
SimpleMailMessage
();
message
.
setFrom
(
SystemConfig
.
EMAILADDRESS
);
message
.
setTo
(
to
);
message
.
setSubject
(
subject
);
message
.
setText
(
content
);
try
{
mailSender
.
send
(
message
);
log
.
info
(
"简单邮件已经发送。"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"发送简单邮件时发生异常!"
,
e
);
}
}
}
\ No newline at end of file
xx-universal/xx-universal-server/pom.xml
View file @
6c77f30c
...
...
@@ -36,6 +36,10 @@
</exclusions>
<version>
4.4.2
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-mail
</artifactId>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-dysmsapi
</artifactId>
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/MailServiceBiz.java
0 → 100644
View file @
6c77f30c
package
com
.
xxfc
.
platform
.
universal
.
biz
;
import
com.github.wxiaoqi.security.common.util.process.SystemConfig
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.mail.SimpleMailMessage
;
import
org.springframework.mail.javamail.JavaMailSender
;
import
org.springframework.stereotype.Service
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
@Slf4j
@Service
public
class
MailServiceBiz
{
@Autowired
JavaMailSender
mailSender
;
public
void
sendSimpleMail
(
String
to
,
String
subject
,
String
content
)
{
SimpleMailMessage
message
=
new
SimpleMailMessage
();
message
.
setFrom
(
SystemConfig
.
EMAILADDRESS
);
message
.
setTo
(
to
);
message
.
setSubject
(
subject
);
message
.
setText
(
content
);
try
{
mailSender
.
send
(
message
);
log
.
info
(
"简单邮件已经发送。{}"
,
message
);
}
catch
(
Exception
e
)
{
log
.
error
(
"发送简单邮件时发生异常!"
,
e
);
}
}
public
void
run
(
String
to
,
String
subject
,
String
content
)
{
ExecutorService
executorService
=
Executors
.
newCachedThreadPool
();
executorService
.
submit
(
new
Task
(
to
,
subject
,
content
));
}
@Data
class
Task
implements
Runnable
{
private
String
toUser
;
private
String
subject
;
private
String
content
;
public
Task
(
String
toUser
,
String
subject
,
String
content
)
{
this
.
toUser
=
toUser
;
this
.
subject
=
subject
;
this
.
content
=
content
;
}
@Override
public
void
run
()
{
sendSimpleMail
(
toUser
,
subject
,
content
);
}
}
}
\ No newline at end of file
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/controller/EmailSendController.java
0 → 100644
View file @
6c77f30c
package
com
.
xxfc
.
platform
.
universal
.
controller
;
import
com.xxfc.platform.universal.biz.MailServiceBiz
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
"mail"
)
public
class
EmailSendController
{
@Autowired
MailServiceBiz
mailServiceBiz
;
@GetMapping
(
value
=
"/app/unauth/send"
)
public
void
senEmail
(
String
toUser
,
String
subject
,
String
content
)
{
mailServiceBiz
.
run
(
toUser
,
subject
,
content
);
}
}
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