Add max file size, max files and ip anonymize log options
authorChocobozzz <me@florianbigard.com>
Thu, 12 Dec 2019 16:15:38 +0000 (17:15 +0100)
committerChocobozzz <me@florianbigard.com>
Thu, 12 Dec 2019 16:15:38 +0000 (17:15 +0100)
config/default.yaml
config/production.yaml.example
server.ts
server/helpers/logger.ts
server/initializers/config.ts

index 7c718e17454a17e9b7b87bdfeaa9bb0c1d7e690e..7fe817aa08d37864fa409d5a79ddb8f3200e1b44 100644 (file)
@@ -86,6 +86,9 @@ log:
   level: 'info' # debug/info/warning/error
   rotation:
     enabled : true
+    maxFileSize: 12MB
+    maxFiles: 20
+  anonymizeIP: false
 
 search:
   # Add ability to fetch remote videos/actors by their URI, that may not be federated with your instance
index 98b1669cd45e9683b88496b1b771cb7f7bfbaf8b..629d0c4b620b158ffc2a43c2bca115879ffaf7e3 100644 (file)
@@ -87,6 +87,9 @@ log:
   level: 'info' # debug/info/warning/error
   rotation:
     enabled : true # Enabled by default, if disabled make sure that 'storage.logs' is pointing to a folder handled by logrotate
+    maxFileSize: 12MB
+    maxFiles: 20
+  anonymizeIP: false
 
 search:
   # Add ability to fetch remote videos/actors by their URI, that may not be federated with your instance
index b2541eed680c525a033ec3825de69245e96fe975..8df3add2cdd3abfa6291c9cbae2ca82c271092c2 100644 (file)
--- a/server.ts
+++ b/server.ts
@@ -142,7 +142,7 @@ if (isTestInstance()) {
 
 // For the logger
 morgan.token('remote-addr', req => {
-  if (req.get('DNT') === '1') {
+  if (CONFIG.LOG.ANONYMIZE_IP === true || req.get('DNT') === '1') {
     return anonymize(req.ip, 16, 16)
   }
 
index c2ff2bae6f34fbf64cad69f2e49ed850182ce431..3954176121cf2458a37a85e2fd5a639f0b85e2ab 100644 (file)
@@ -67,9 +67,9 @@ const fileLoggerOptions: FileTransportOptions = {
   )
 }
 
-if (CONFIG.LOG.ROTATION) {
-  fileLoggerOptions.maxsize = 1024 * 1024 * 12
-  fileLoggerOptions.maxFiles = 20
+if (CONFIG.LOG.ROTATION.ENABLED) {
+  fileLoggerOptions.maxsize = CONFIG.LOG.ROTATION.MAX_FILE_SIZE
+  fileLoggerOptions.maxFiles = CONFIG.LOG.ROTATION.MAX_FILES
 }
 
 const logger = winston.createLogger({
index c6e478f5709be179ed37c1f29159361378c261c1..95b069533a9de6fce7a278c8ad1328fe229aeb2b 100644 (file)
@@ -93,7 +93,12 @@ const CONFIG = {
   TRUST_PROXY: config.get<string[]>('trust_proxy'),
   LOG: {
     LEVEL: config.get<string>('log.level'),
-    ROTATION: config.get<boolean>('log.rotation.enabled')
+    ROTATION: {
+      ENABLED: config.get<boolean>('log.rotation.enabled'),
+      MAX_FILE_SIZE: bytes.parse(config.get<string>('log.rotation.maxFileSize')),
+      MAX_FILES: config.get<number>('log.rotation.maxFiles')
+    },
+    ANONYMIZE_IP: config.get<boolean>('log.anonymizeIP')
   },
   SEARCH: {
     REMOTE_URI: {