From d0576bf653d4501602697b036d63fb07a1f047ba Mon Sep 17 00:00:00 2001 From: johnniang Date: Mon, 22 Apr 2019 22:22:40 +0800 Subject: [PATCH] Change log package to logger --- .../run/halo/app/event/logger/LogEvent.java | 38 +++++++++++++++++++ .../app/event/logger/LogEventListener.java | 32 ++++++++++++++++ .../app/service/impl/PostServiceImpl.java | 4 +- .../app/service/impl/UserServiceImpl.java | 2 +- .../controller/core/InstallController.java | 2 +- .../halo/app/event/LogEventListenerTest.java | 4 +- 6 files changed, 75 insertions(+), 7 deletions(-) create mode 100644 src/main/java/run/halo/app/event/logger/LogEvent.java create mode 100644 src/main/java/run/halo/app/event/logger/LogEventListener.java diff --git a/src/main/java/run/halo/app/event/logger/LogEvent.java b/src/main/java/run/halo/app/event/logger/LogEvent.java new file mode 100644 index 000000000..d863536a9 --- /dev/null +++ b/src/main/java/run/halo/app/event/logger/LogEvent.java @@ -0,0 +1,38 @@ +package run.halo.app.event.logger; + +import org.springframework.context.ApplicationEvent; +import run.halo.app.model.enums.LogType; +import run.halo.app.model.params.LogParam; +import run.halo.app.utils.ValidationUtils; + +/** + * @author johnniang + * @date 19-4-20 + */ +public class LogEvent extends ApplicationEvent { + + private final LogParam logParam; + + /** + * Create a new ApplicationEvent. + * + * @param source the object on which the event initially occurred (never {@code null}) + * @param logParam login param + */ + public LogEvent(Object source, LogParam logParam) { + super(source); + + // Validate the log param + ValidationUtils.validate(logParam); + + this.logParam = logParam; + } + + public LogEvent(Object source, String logKey, LogType logType, String content) { + this(source, new LogParam(logKey, logType, content)); + } + + public LogParam getLogParam() { + return logParam; + } +} diff --git a/src/main/java/run/halo/app/event/logger/LogEventListener.java b/src/main/java/run/halo/app/event/logger/LogEventListener.java new file mode 100644 index 000000000..7f9b57c48 --- /dev/null +++ b/src/main/java/run/halo/app/event/logger/LogEventListener.java @@ -0,0 +1,32 @@ +package run.halo.app.event.logger; + +import org.springframework.context.event.EventListener; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; +import run.halo.app.model.entity.Log; +import run.halo.app.service.LogService; + +/** + * Log event listener. + * + * @author johnniang + * @date 19-4-21 + */ +@Component +public class LogEventListener { + + private final LogService logService; + + public LogEventListener(LogService logService) { + this.logService = logService; + } + + @EventListener + @Async + public void onApplicationEvent(LogEvent event) { + // Convert to log + Log logToCreate = event.getLogParam().convertTo(); + // Create log + logService.create(logToCreate); + } +} diff --git a/src/main/java/run/halo/app/service/impl/PostServiceImpl.java b/src/main/java/run/halo/app/service/impl/PostServiceImpl.java index 64b267412..81c5f2961 100644 --- a/src/main/java/run/halo/app/service/impl/PostServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/PostServiceImpl.java @@ -11,15 +11,13 @@ import org.springframework.data.jpa.domain.Specification; import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; -import run.halo.app.event.log.LogEvent; +import run.halo.app.event.logger.LogEvent; import run.halo.app.event.post.VisitEvent; import run.halo.app.exception.AlreadyExistsException; import run.halo.app.exception.BadRequestException; import run.halo.app.exception.NotFoundException; -import run.halo.app.exception.ServiceException; import run.halo.app.model.dto.CategoryOutputDTO; import run.halo.app.model.dto.TagOutputDTO; import run.halo.app.model.dto.post.PostMinimalOutputDTO; diff --git a/src/main/java/run/halo/app/service/impl/UserServiceImpl.java b/src/main/java/run/halo/app/service/impl/UserServiceImpl.java index d6cd85286..b11ecbf06 100644 --- a/src/main/java/run/halo/app/service/impl/UserServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/UserServiceImpl.java @@ -8,7 +8,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import run.halo.app.cache.StringCacheStore; -import run.halo.app.event.log.LogEvent; +import run.halo.app.event.logger.LogEvent; import run.halo.app.exception.BadRequestException; import run.halo.app.exception.NotFoundException; import run.halo.app.model.entity.User; diff --git a/src/main/java/run/halo/app/web/controller/core/InstallController.java b/src/main/java/run/halo/app/web/controller/core/InstallController.java index f289224c4..cccfe23ab 100644 --- a/src/main/java/run/halo/app/web/controller/core/InstallController.java +++ b/src/main/java/run/halo/app/web/controller/core/InstallController.java @@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import run.halo.app.event.log.LogEvent; +import run.halo.app.event.logger.LogEvent; import run.halo.app.exception.BadRequestException; import run.halo.app.model.entity.*; import run.halo.app.model.enums.AttachmentType; diff --git a/src/test/java/run/halo/app/event/LogEventListenerTest.java b/src/test/java/run/halo/app/event/LogEventListenerTest.java index 5a722cea7..45bc218c6 100644 --- a/src/test/java/run/halo/app/event/LogEventListenerTest.java +++ b/src/test/java/run/halo/app/event/LogEventListenerTest.java @@ -3,8 +3,8 @@ package run.halo.app.event; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.springframework.context.ApplicationListener; -import run.halo.app.event.log.LogEvent; -import run.halo.app.event.log.LogEventListener; +import run.halo.app.event.logger.LogEvent; +import run.halo.app.event.logger.LogEventListener; import run.halo.app.utils.ReflectionUtils; import java.lang.reflect.ParameterizedType;