You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
in my case, i have to reasign a system property value on runtime and i would like to see the new value in my log file. Is there a way to achive that easily?
writer2 = rolling file
writer2.level = info
writer2.format = {date} {level} [ns: #{app.namespace}] [th: {thread}] {class}.{method}:\n{message}
writer2.file ...
Custom logger
public class MyLogger {
private static final LoggingProvider provider = ProviderRegistry.getLoggingProvider();
private static final int minimumLevel = provider.getMinimumLevel(null).ordinal();
private static final boolean infoEnabled = minimumLevel <= Level.INFO.ordinal();
private static final boolean errorEnabled = minimumLevel <= Level.ERROR.ordinal();
public static void info(String message) {
if (infoEnabled) {
provider.log(2, null, Level.INFO, null, null, message);
}
}
public static void error(Throwable exception) {
if (errorEnabled) {
provider.log(2, null, Level.ERROR, exception, null, null);
}
}
}
The default configuration in ProviderRegistry.getLoggingProvider(); loads all properies once and does a mapping (tinylog / system properties) -> so my logging format is fix.
The text was updated successfully, but these errors were encountered:
Do you need the updated system property only in the format pattern? If yes, this could be solved by implementing a new token.
The syntax could be for example: writer.format = {dynamic-system-property: app.namespace}. A good example for a token implementation is PlainTextToken.java. In your use case, you could resolve the system property dynamically in render() and apply(). The name of the system property could be passed as string in the constructor. Finally, the new token has to be registered in FormatPatternParser.createPlainToken().
If you can implement such token and provide as pull request, I could publish it together with tinylog 2.5.
Hi,
in my case, i have to reasign a system property value on runtime and i would like to see the new value in my log file. Is there a way to achive that easily?
tinylog.properties (System property -> app.namespace)
Custom logger
The default configuration in ProviderRegistry.getLoggingProvider(); loads all properies once and does a mapping (tinylog / system properties) -> so my logging format is fix.
The text was updated successfully, but these errors were encountered: