Skip to content

Commit 73229f5

Browse files
committed
Update request logging closes #25
1 parent 3037285 commit 73229f5

File tree

9 files changed

+44
-20
lines changed

9 files changed

+44
-20
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.innopolis.innoqueue.configuration
2+
3+
import org.springframework.beans.factory.annotation.Value
4+
import org.springframework.context.annotation.Bean
5+
import org.springframework.context.annotation.Configuration
6+
import org.springframework.web.filter.CommonsRequestLoggingFilter
7+
import javax.servlet.http.HttpServletRequest
8+
9+
@Configuration
10+
class RequestLoggingFilterConfig {
11+
@Bean
12+
fun logFilter(@Value("\${logging.maxPayloadLength}") maxPayloadLength: Int): CommonsRequestLoggingFilter =
13+
object : CommonsRequestLoggingFilter() {
14+
public override fun beforeRequest(request: HttpServletRequest, message: String) {}
15+
}.apply {
16+
setIncludeQueryString(true)
17+
setIncludePayload(true)
18+
setIncludeHeaders(false)
19+
setAfterMessagePrefix("Request: ")
20+
setMaxPayloadLength(maxPayloadLength)
21+
}
22+
}

src/main/kotlin/com/innopolis/innoqueue/domain/external/service/DatabaseService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class DatabaseService(
3232
*/
3333
@Transactional
3434
fun clearExpiredInviteCodes(): EmptyDto {
35-
logger.info("Clear expited invite codes")
35+
logger.info("Clear expired invite codes")
3636
val currentDateTime = LocalDateTime.now(ZoneOffset.UTC)
3737
removeExpiredPinCodes(currentDateTime)
3838
removeExpiredQrCodes(currentDateTime)

src/main/kotlin/com/innopolis/innoqueue/domain/notification/service/NotificationService.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class NotificationService(
6363
*/
6464
@Transactional
6565
fun readNotifications(token: String, notificationIds: List<Long>? = null) {
66-
logger.info("Read notifications userToken=$token, notificationIds=$notificationIds")
66+
logger.info("user-token=$token")
6767
val unreadNotifications = notificationRepository
6868
.findAllByToken(token)
6969
.filter { it.isRead == false }
@@ -88,7 +88,7 @@ class NotificationService(
8888
*/
8989
@Transactional
9090
fun deleteNotifications(token: String, notificationIds: List<Long>? = null) {
91-
logger.info("Delete notifications userToken=$token, notificationIds=$notificationIds")
91+
logger.info("user-token=$token")
9292
notificationRepository.deleteAll(
9393
notificationRepository
9494
.findAllByToken(token)
@@ -104,7 +104,7 @@ class NotificationService(
104104
*/
105105
@Transactional
106106
fun deleteNotificationById(token: String, notificationId: Long) {
107-
logger.info("Delete notification userToken=$token, notificationIds=$notificationId")
107+
logger.info("user-token=$token")
108108
notificationRepository
109109
.findAllByToken(token)
110110
.firstOrNull { it.id == notificationId }

src/main/kotlin/com/innopolis/innoqueue/domain/queue/service/QueueService.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class QueueService(
4141
*/
4242
@Transactional
4343
fun getQueues(token: String, sortOption: String? = null): QueuesListDto {
44-
logger.info("Get queues for userToken=$token, sortOption=$sortOption")
44+
logger.info("user-token=$token")
4545
return when (sortOption) {
4646
null, "queue" -> QueuesListDto(userQueueRepository.findAllUserQueueByToken(token).convertToQueueShortDTO())
4747
"participant" -> QueuesListDto(
@@ -69,7 +69,7 @@ class QueueService(
6969
*/
7070
@Transactional
7171
fun getQueueById(token: String, queueId: Long): QueueDetailsDto {
72-
logger.info("Get queue details for userToken=$token, queueId=$queueId")
72+
logger.info("user-token=$token")
7373
val queueOptional = queueRepository.findById(queueId)
7474
require(queueOptional.isPresent) { "User does not belong to such queue: $queueId" }
7575
val userQueue = userQueueRepository.findUserQueueByToken(token, queueId)
@@ -98,7 +98,7 @@ class QueueService(
9898
*/
9999
@Transactional
100100
fun getQueueInviteCode(token: String, queueId: Long): QueueInviteCodeDto {
101-
logger.info("Get queue invite codes for userToken=$token, queueId=$queueId")
101+
logger.info("user-token=$token")
102102
val userQueue = userQueueRepository.findUserQueueByToken(token, queueId)
103103
?: throw IllegalArgumentException("User does not belong to such queue: $queueId")
104104
val queue = queueRepository.findAll().firstOrNull { it.queueId == userQueue.userQueueId?.queueId }!!
@@ -114,7 +114,7 @@ class QueueService(
114114
*/
115115
@Transactional
116116
fun createQueue(token: String, queue: NewQueueDto): QueueDetailsDto {
117-
logger.info("Create new queue userToken=$token, queue=$queue")
117+
logger.info("user-token=$token")
118118
val user = userService.findUserByToken(token)
119119
val createdQueue = saveQueueEntity(queue, user)
120120
saveUserQueueEntity(createdQueue, user)
@@ -140,7 +140,7 @@ class QueueService(
140140
@Suppress("ThrowsCount")
141141
@Transactional
142142
fun editQueue(token: String, queueId: Long, editQueue: EditQueueDto): QueueDetailsDto {
143-
logger.info("Edit queue userToken=$token, queue=$queueId, editQueue=$editQueue")
143+
logger.info("user-token=$token")
144144
val user = userService.findUserByToken(token)
145145
val userQueue = getUserQueueByQueueId(user, queueId)
146146
require(
@@ -207,7 +207,7 @@ class QueueService(
207207
*/
208208
@Transactional
209209
fun freezeUnFreezeQueue(token: String, queueId: Long, status: Boolean) {
210-
logger.info("Change queue's activity userToken=$token, queue=$queueId, status=$status")
210+
logger.info("user-token=$token")
211211
val user = userService.findUserByToken(token)
212212
val userQueue = getUserQueueByQueueId(user, queueId)
213213
when (status) {
@@ -252,7 +252,7 @@ class QueueService(
252252
*/
253253
@Transactional
254254
fun deleteQueue(token: String, queueId: Long) {
255-
logger.info("Delete queue userToken=$token, queue=$queueId")
255+
logger.info("user-token=$token")
256256
val user = userService.findUserByToken(token)
257257
val userQueue = getUserQueueByQueueId(user, queueId)
258258
// Delete queue
@@ -303,7 +303,7 @@ class QueueService(
303303
@Suppress("ThrowsCount", "ReturnCount", "LongMethod")
304304
@Transactional
305305
fun joinQueue(token: String, queueInviteCodeDTO: QueueInviteCodeDto): QueueDetailsDto {
306-
logger.info("Join queue userToken=$token, queueInviteCodeDTO=$queueInviteCodeDTO")
306+
logger.info("user-token=$token")
307307
val user = userService.findUserByToken(token)
308308

309309
require(queueInviteCodeDTO.pinCode != null || queueInviteCodeDTO.qrCode != null) {
@@ -376,7 +376,7 @@ class QueueService(
376376
*/
377377
@Transactional
378378
fun shakeUser(token: String, queueId: Long) {
379-
logger.info("Shake user userToken=$token, queueId=$queueId")
379+
logger.info("user-token=$token")
380380
val user = userService.findUserByToken(token)
381381
// Check if user joined this queue
382382
getUserQueueByQueueId(user, queueId)

src/main/kotlin/com/innopolis/innoqueue/domain/queue/service/ToDoTaskService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class ToDoTaskService(
4848
*/
4949
@Transactional
5050
fun completeTask(token: String, taskId: Long, expenses: Long?) {
51-
logger.info("Complete task userToken=$token, taskId=$taskId, expenses=$expenses")
51+
logger.info("user-token=$token")
5252
val userQueue = userQueueRepository.findUserQueue(token, taskId)
5353
// If this queue requires to track expenses it should not be null or negative number
5454
if (userQueue.getTrackExpenses()) {
@@ -102,7 +102,7 @@ class ToDoTaskService(
102102
*/
103103
@Transactional
104104
fun skipTask(token: String, taskId: Long) {
105-
logger.info("Skip task userToken=$token, taskId=$taskId")
105+
logger.info("user-token=$token")
106106
val userQueueAndQueue = userQueueRepository.findUserQueue(token, taskId)
107107
// User can skip a task if it's his turn
108108
if (userQueueAndQueue.getUserId() == userQueueAndQueue.getCurrentUserId()) {

src/main/kotlin/com/innopolis/innoqueue/domain/user/service/UserService.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class UserService(
7373
*/
7474
@Transactional
7575
fun updateUserSettings(token: String, settings: UpdateUserDto): UserDto {
76-
logger.info("Updating user settings for userToken=$token, $settings")
76+
logger.info("user-token=$token")
7777
val user = this.findUserByToken(token)
7878
settings.userName?.let {
7979
require(it.isNotEmpty()) { "Username can't be an empty string" }
@@ -110,13 +110,13 @@ class UserService(
110110
val token = generateUserToken()
111111
// TODO remove after adding registration option
112112
return if (registerOption) {
113-
logger.info("Creating new user with token=$token")
113+
logger.info("user-token=$token")
114114
val userId = saveUser(token, userName, fcmToken)
115115
TokenDto(token, userId)
116116
} else {
117117
val existingUser = userRepository.findAll().toList().firstOrNull { it.name == userName }
118118
if (existingUser == null) {
119-
logger.info("Creating new user with token=$token")
119+
logger.info("user-token=$token")
120120
val userId = saveUser(token, userName, fcmToken)
121121
TokenDto(token, userId)
122122
} else {

src/main/kotlin/com/innopolis/innoqueue/rest/v1/NotificationsController.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class NotificationsController(
5252
)
5353
@GetMapping
5454
fun getNotifications(@RequestHeader("user-token") token: String, page: Int, size: Int): Page<NotificationDto> {
55-
logger.info("Get notifications for userToken=$token, page=$page, size=$size")
55+
logger.info("user-token=$token")
5656
validatePaginationArgs(page, size)
5757
val pageable: Pageable = PageRequest.of(
5858
page,

src/main/resources/application.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ server:
3333
dev: ${HOST_DEV:https://innoqueue-dev.herokuapp.com}
3434
prod: ${HOST_PROD:https://innoqueue.herokuapp.com}
3535
logging:
36+
maxPayloadLength: 10000
3637
level:
3738
org:
3839
springframework.web: INFO
3940
hibernate: ERROR
41+
com.innopolis.innoqueue.configuration: DEBUG

src/main/resources/logback.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<appender name="mask" class="ch.qos.logback.core.ConsoleAppender">
33
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
44
<layout class="com.innopolis.innoqueue.configuration.MaskingPatternLayout">
5-
<maskPattern>token=([^:,\n]*)|fcmToken=([^:,\n]*)|userToken=([^:,\n]*)</maskPattern>
5+
<maskPattern>user-token=([^:,\n]*)|fcmToken([^:,\n]*)</maskPattern>
66
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) --- [%t] %cyan(%logger{15}) - %msg%n%throwable{full}</pattern>
77
</layout>
88
</encoder>

0 commit comments

Comments
 (0)