Skip to content

Commit cdd374e

Browse files
committed
update
1 parent 4bceedd commit cdd374e

7 files changed

Lines changed: 194 additions & 33 deletions

File tree

.claude/settings.local.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"permissions": {
3+
"allow": [
4+
"Bash(mvn clean:*)"
5+
]
6+
}
7+
}

plan-log4j-update.md

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
# Log4j Migration Plan: websocket-client
2+
3+
**Layer**: 7 (Application) — update after `oauth-token-manager` and `serialization`.
4+
5+
## Before Starting
6+
7+
Prompt the user for the following version numbers before making any changes:
8+
9+
| Variable | Question |
10+
|----------|----------|
11+
| `NEW_PARENT_POM_VERSION` | What is the new `parent-pom` version? |
12+
| `NEW_OAUTH_TOKEN_MANAGER_VERSION` | What is the new `oauth-token-manager` version? |
13+
| `NEW_SERIALIZATION_VERSION` | What is the new `serialization` version? |
14+
| `OWN_NEW_VERSION` | What version should `websocket-client` be bumped to? (currently `1.0.16`) |
15+
16+
## Context
17+
18+
Part of a migration from Log4j 1.x to Log4j 2.25.3 across all libraries. Has 2 classes using `@Slf4j` — no code changes needed (SLF4J API is unchanged). Test config has a custom DEBUG logger for `WebsocketConnection`.
19+
20+
> **IMPORTANT for execution**: This plan should be executed by actually making the file changes described below — create the new `log4j2.xml` / `log4j2-test.xml` files with the content provided, and delete the old `log4j.properties` files. Do not leave the config migration as a manual step.
21+
22+
## Current State
23+
24+
- **Artifact**: `info.unterrainer.commons:websocket-client`
25+
- **Parent**: `parent-pom:1.0.2`
26+
- **In-house dependencies**:
27+
- `oauth-token-manager:1.0.11` — bump to new version
28+
- `serialization:1.0.1` — bump to new version
29+
- **log4j.properties**: YES (main + test, DIFFERENT content)
30+
- **@Slf4j usage**: 2 classes
31+
32+
### Current `log4j.properties` content (main):
33+
```properties
34+
log4j.rootLogger=DEBUG, A1
35+
log4j.appender.A1=org.apache.log4j.ConsoleAppender
36+
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
37+
log4j.appender.A1.layout.charset=UTF-8
38+
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
39+
log4j.logger.io.netty=WARN
40+
log4j.logger.org.eclipse.milo=WARN
41+
```
42+
43+
### Current `log4j.properties` content (test):
44+
```properties
45+
log4j.rootLogger=DEBUG, A1
46+
log4j.appender.A1=org.apache.log4j.ConsoleAppender
47+
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
48+
log4j.appender.A1.layout.charset=UTF-8
49+
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
50+
log4j.logger.io.netty=WARN
51+
log4j.logger.org.eclipse.milo=WARN
52+
log4j.logger.info.unterrainer.websocketclient.WebsocketConnection=DEBUG
53+
```
54+
55+
## Steps
56+
57+
### 1. Update parent version in `pom.xml`
58+
59+
Change the parent version (line 8) to the new parent-pom version:
60+
61+
```xml
62+
<parent>
63+
<groupId>info.unterrainer.commons</groupId>
64+
<artifactId>parent-pom</artifactId>
65+
<version>NEW_PARENT_POM_VERSION</version>
66+
</parent>
67+
```
68+
69+
### 2. Update in-house dependency versions in `pom.xml`
70+
71+
```xml
72+
<dependency>
73+
<groupId>info.unterrainer.commons</groupId>
74+
<artifactId>oauth-token-manager</artifactId>
75+
<version>NEW_OAUTH_TOKEN_MANAGER_VERSION</version>
76+
</dependency>
77+
<dependency>
78+
<groupId>info.unterrainer.commons</groupId>
79+
<artifactId>serialization</artifactId>
80+
<version>NEW_SERIALIZATION_VERSION</version>
81+
</dependency>
82+
```
83+
84+
### 3. Bump own version
85+
86+
Increment `<version>` (line 13, currently `1.0.16`).
87+
88+
### 4. Migrate logging config: create `src/main/resources/log4j2.xml`
89+
90+
```xml
91+
<?xml version="1.0" encoding="UTF-8"?>
92+
<Configuration status="WARN">
93+
<Appenders>
94+
<Console name="Console" target="SYSTEM_OUT">
95+
<PatternLayout charset="UTF-8"
96+
pattern="%-4r [%t] %-5p %c %x - %m%n"/>
97+
</Console>
98+
</Appenders>
99+
<Loggers>
100+
<Logger name="io.netty" level="WARN"/>
101+
<Logger name="org.eclipse.milo" level="WARN"/>
102+
<Root level="DEBUG">
103+
<AppenderRef ref="Console"/>
104+
</Root>
105+
</Loggers>
106+
</Configuration>
107+
```
108+
109+
### 5. Migrate logging config: create `src/test/resources/log4j2-test.xml`
110+
111+
```xml
112+
<?xml version="1.0" encoding="UTF-8"?>
113+
<Configuration status="WARN">
114+
<Appenders>
115+
<Console name="Console" target="SYSTEM_OUT">
116+
<PatternLayout charset="UTF-8"
117+
pattern="%-4r [%t] %-5p %c %x - %m%n"/>
118+
</Console>
119+
</Appenders>
120+
<Loggers>
121+
<Logger name="io.netty" level="WARN"/>
122+
<Logger name="org.eclipse.milo" level="WARN"/>
123+
<Logger name="info.unterrainer.websocketclient.WebsocketConnection" level="DEBUG"/>
124+
<Root level="DEBUG">
125+
<AppenderRef ref="Console"/>
126+
</Root>
127+
</Loggers>
128+
</Configuration>
129+
```
130+
131+
### 6. Delete old config files
132+
133+
- Delete `src/main/resources/log4j.properties`
134+
- Delete `src/test/resources/log4j.properties`
135+
136+
### 7. Build, test, install
137+
138+
```bash
139+
mvn clean install
140+
```
141+
142+
## Files Changed
143+
144+
| File | Action |
145+
|------|--------|
146+
| `pom.xml` | Update parent version, update oauth-token-manager + serialization versions, bump own version |
147+
| `src/main/resources/log4j2.xml` | Create (migrated from log4j.properties) |
148+
| `src/test/resources/log4j2-test.xml` | Create (migrated from log4j.properties — includes WebsocketConnection=DEBUG) |
149+
| `src/main/resources/log4j.properties` | Delete |
150+
| `src/test/resources/log4j.properties` | Delete |

pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
<parent>
66
<groupId>info.unterrainer.commons</groupId>
77
<artifactId>parent-pom</artifactId>
8-
<version>1.0.2</version>
8+
<version>1.0.3</version>
99
</parent>
1010

1111
<modelVersion>4.0.0</modelVersion>
1212
<artifactId>websocket-client</artifactId>
13-
<version>1.0.16</version>
13+
<version>1.0.18</version>
1414
<name>WebsocketClient</name>
1515
<packaging>jar</packaging>
1616

@@ -25,12 +25,12 @@
2525
<dependency>
2626
<groupId>info.unterrainer.commons</groupId>
2727
<artifactId>oauth-token-manager</artifactId>
28-
<version>1.0.11</version>
28+
<version>1.0.12</version>
2929
</dependency>
3030
<dependency>
3131
<groupId>info.unterrainer.commons</groupId>
3232
<artifactId>serialization</artifactId>
33-
<version>1.0.1</version>
33+
<version>1.0.2</version>
3434
</dependency>
3535
<dependency>
3636
<groupId>org.glassfish.tyrus.bundles</groupId>

src/main/resources/log4j.properties

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/main/resources/log4j2.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Configuration status="WARN">
3+
<Appenders>
4+
<Console name="Console" target="SYSTEM_OUT">
5+
<PatternLayout charset="UTF-8"
6+
pattern="%-4r [%t] %-5p %c %x - %m%n"/>
7+
</Console>
8+
</Appenders>
9+
<Loggers>
10+
<Logger name="io.netty" level="WARN"/>
11+
<Logger name="org.eclipse.milo" level="WARN"/>
12+
<Root level="DEBUG">
13+
<AppenderRef ref="Console"/>
14+
</Root>
15+
</Loggers>
16+
</Configuration>

src/test/resources/log4j.properties

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/test/resources/log4j2-test.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Configuration status="WARN">
3+
<Appenders>
4+
<Console name="Console" target="SYSTEM_OUT">
5+
<PatternLayout charset="UTF-8"
6+
pattern="%-4r [%t] %-5p %c %x - %m%n"/>
7+
</Console>
8+
</Appenders>
9+
<Loggers>
10+
<Logger name="io.netty" level="WARN"/>
11+
<Logger name="org.eclipse.milo" level="WARN"/>
12+
<Logger name="info.unterrainer.websocketclient.WebsocketConnection" level="DEBUG"/>
13+
<Root level="DEBUG">
14+
<AppenderRef ref="Console"/>
15+
</Root>
16+
</Loggers>
17+
</Configuration>

0 commit comments

Comments
 (0)