clojure-emacs / clojure-emacs/logjam

Log4j2 compatibility

Open
#2 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Clojure
Stars
2
Forks
1
PR merge metrics
No merged PRs in 30d

Description

## Context

https://github.com/clojure-emacs/cider-nrepl/pull/773#discussion_r1226611259

## Brief

> Right now this works with Logback (which I am using) and Java Util Logging. There is some code for Log4j2 that passes some of the tests, but I couldn't make it working reliably. The issue seems that Log4j2 reloads its configuration when a new appender is added, and wipes out the changes. I tried most of the suggestions on Stackoverflow to get it working, but I'm giving up on this one. I already spent too much time on this. So, I propose to drop that code into a branch of the separated library. If anyone knows how to get it working, I'm willing to help, but I won't investigate this beast any further.

# Possible solutions

* Persevere through the original approach
* Try a less dynamic approach:

>> Would it help if the nrepl logger wasn't dynamically added?
>> e.g. one could configure it such that it's instantiated as the JVM starts.
>> This would probably involve a .xml file or a user.clj file.
>> ...this would not invalidate the current, dynamic approach, I'd see it instead of an additional, opt-in manner to run things.

> It might, but I believe for this to work we would need to use gen-class to create an appender class that implements some Log4j2 interface and ship it, so that it can be referenced in the configuration file.
> And then somehow connect this with the atom to which events are added.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.