diff --git a/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java b/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java index 4dc78978..d608d2ba 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java +++ b/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java @@ -127,6 +127,9 @@ public class OpenViduServer implements JsonRpcConfigurer { @Bean @ConditionalOnMissingBean public CallDetailRecord cdr() { + if (this.openviduConfig.isCdrEnabled()) { + log.info("OpenVidu CDR is enabled"); + } return new CallDetailRecord(Arrays.asList(new CDRLoggerFile())); } diff --git a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java index 32b945f4..4f2ea004 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java +++ b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java @@ -53,6 +53,9 @@ public class OpenviduConfig { @Value("${openvidu.cdr}") private boolean openviduCdr; + + @Value("${openvidu.cdr.path}") + private String openviduCdrPath; @Value("${openvidu.recording}") private boolean openviduRecording; @@ -139,6 +142,10 @@ public class OpenviduConfig { public boolean isCdrEnabled() { return this.openviduCdr; } + + public String getOpenviduCdrPath() { + return this.openviduCdrPath; + } public boolean isRecordingModuleEnabled() { return this.openviduRecording; diff --git a/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 17d43eda..fc78df41 100644 --- a/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -24,6 +24,12 @@ "description": "Whether to enable Call Detail Record or not", "defaultValue": false }, + { + "name": "openvidu.cdr.path", + "type": "java.lang.String", + "description": "Where to store CDR files", + "defaultValue": "log" + }, { "name": "openvidu.recording", "type": "java.lang.Boolean", diff --git a/openvidu-server/src/main/resources/application.properties b/openvidu-server/src/main/resources/application.properties index e1f87ac1..d373f452 100644 --- a/openvidu-server/src/main/resources/application.properties +++ b/openvidu-server/src/main/resources/application.properties @@ -15,6 +15,7 @@ server.ssl.key-alias: openvidu-selfsigned openvidu.secret: MY_SECRET openvidu.publicurl: local openvidu.cdr: false +openvidu.cdr.path: log openvidu.recording: false openvidu.recording.path: /opt/openvidu/recordings diff --git a/openvidu-server/src/main/resources/logback.xml b/openvidu-server/src/main/resources/logback-spring.xml similarity index 90% rename from openvidu-server/src/main/resources/logback.xml rename to openvidu-server/src/main/resources/logback-spring.xml index 0ad82bfb..d67f4c27 100644 --- a/openvidu-server/src/main/resources/logback.xml +++ b/openvidu-server/src/main/resources/logback-spring.xml @@ -1,5 +1,8 @@ + + + - log/CDR.%d{yyyy-MM-dd}_${myTimestamp}.log + ${cdrPath}/CDR.%d{yyyy-MM-dd}_${myTimestamp}.log 30 20GB