...
# | Issue/Decision | Notes | Decision |
---|---|---|---|
1 | Are the logging guidelines set by the Logging Enhancement Project suitable for a cloud environment? | ||
2 | Do we need a second appender for errors? | Meeting Notes 11/12/20 The logging enhancement team has proposed to split the log to multiple files:
Toine has suggested we follow this approach but exclude error logging. Before making anymore decisions we will investigate this project as we have some concerns about the logging standards in the logging enhancement project. | |
3 | The application should only logs to stdout and not in files? |
| Meeting Notes 11/12/20
|
4 | Is the file location ok? | ../log/${logName}.log I think this is ok. Logs will be placed in pods once deployed. I think we will need to set a property in our SpringBootApplication class for the log dir. | |
5 | Disk space | <property name="maxFileSize" value="20MB" /> Once the log reaches this value it is zipped. |
New ONAP Component Checklist - Copied from Logging Enhancement Project
Add this procedure to the Project Proposal Template
By following a few simple rules:
- Your component's output will be indexed automatically.
- Analytics will be able to trace invocation through your component.
Obligations fall into two categories:
- Conventions regarding configuration, line format and output.
- Ensuring the propagation of contextual information.
You must:
...
...
Insert excerpt | ||
---|---|---|
|
...
...
|
...
- Retrieve, default and propagate RequestID. See ONAP Application Logging Specification v1.2 (Casablanca)#MDC - RequestID.
- At each invocation of one ONAP component by another:
- Initialize and propagate InvocationID. See ONAP Application Logging Specification v1.2 (Casablanca)#MDC - Invocation ID.
- Report INVOKE and SYNCHRONOUS markers in caller.
- Report ENTRY and EXIT markers in recipient.
...
They are unordered.
|
Current Log Config
Dependencies used
Code Blockcode | ||||
---|---|---|---|---|
| ||||
<dependency> <!-- For logging --> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> |
Code Block | ||||
---|---|---|---|---|
|
...
| |||
| |||
... logging: level: org: springframework: INFO |
Code Block | |||||
---|---|---|---|---|---|
| |||||
| |||||
<configuration scan="true" debug="false"> <include resource="org/springframework/boot/logging/logback/base.xml" /> <property name="queueSize" value="256" /> <property name="maxFileSize" value="20MB" /> <property name="maxHistory" value="30" /> <property name="totalSizeCap" value="20MB" /> <!-- log file names --> <property name="logName" value="cps" /> <property name="currentTimeStamp" value="%d{"yyyy-MM-dd'T'HH:mm:ss.SSSXXX",UTC}"/> <property name="debugPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%thread|%X{RequestID}| %logger{50} - %msg%n" /> <appender name="Debug" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>../log/${logName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${logName}.%d{yyyy-MM-dd}.%i.log.zip </fileNamePattern> <maxFileSize>${maxFileSize}</maxFileSize> <maxHistory>${maxHistory}</maxHistory> <totalSizeCap>${totalSizeCap}</totalSizeCap> </rollingPolicy> <encoder> <pattern>${debugPattern}</pattern> </encoder> </appender> <appender name="asyncDebug" class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> <appender-ref ref="Debug" /> <includeCallerData>true</includeCallerData> </appender> <logger name="org.onap.cps" level="DEBUG" additivity="false"> <appender-ref ref="asyncDebug" /> </logger> <root level="INFO"> <appender-ref ref="asyncDebug" /> </root> </configuration> |
...