When using logback outside of Spring-Boot, how can I get the ProcessID into the log file name?
In the RollingFileAppender
I'd like to define:
<file>my-log-${PID}.log</file>
How can I get the ${PID}
set or is there a standard way of obtaining this?
ProcessHandle.current().pid()
package com.example;
import ch.qos.logback.core.PropertyDefinerBase;
class PidPropertyDefiner extends PropertyDefinerBase {
public String getPropertyValue() {
return Long.toString(ProcessHandle.current().pid());
}
}
<define name="SELF_PID" class="com.example.PidPropertyDefiner" />
... or use the logback.groovy
instead of logback.xml
, there you can just access every bit of JVM directly.