This is an automated email from the ASF dual-hosted git repository.
vy pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/release-2.x by this push:
new aa1cefdff5 Update that `release-2.x` and `master` branches have been
renamed to `2.x` and `main`, respectively
aa1cefdff5 is described below
commit aa1cefdff5b9778c95a382b807f3985946b769d2
Author: Volkan Yazıcı <[email protected]>
AuthorDate: Mon Feb 27 11:35:35 2023 +0100
Update that `release-2.x` and `master` branches have been renamed to `2.x`
and `main`, respectively
---
.asf.yaml | 4 +-
.github/pull_request_template.md | 1 +
.github/workflows/benchmark.yml | 247 ---------------------
.github/workflows/build.yml | 4 +-
.github/workflows/codeql-analysis.yml | 7 +-
.github/workflows/log4j-kafka-test.yml | 4 +-
.github/workflows/scorecards-analysis.yml | 2 +-
CONTRIBUTING.md | 2 +-
.../asciidoc/manual/json-template-layout.adoc.vm | 10 +-
src/site/markdown/log4j-docker.md.vm | 2 +-
src/site/markdown/manual/cloud.md | 2 +-
src/site/markdown/maven-artifacts.md.vm | 6 +-
12 files changed, 22 insertions(+), 269 deletions(-)
diff --git a/.asf.yaml b/.asf.yaml
index 069f46d492..52e12b4f97 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -42,8 +42,8 @@ github:
- api
- syslog
protected_branches:
- master: {}
- release-2.x: {}
+ main: {}
+ 2.x: {}
# Attempt to make the auto-generated github emails more easily readable in
email clients.
custom_subjects:
new_pr: "[PR] {title} ({repository})"
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 7b0db3918c..15cb841567 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -2,6 +2,7 @@
## Checklist
+* Base your changes on `2.x` branch if you are targeting Log4j 2; use `main`
otherwise
* `./mvnw verify` succeeds (if it fails due to code formatting issues reported
by Spotless, simply run `spotless:apply` and retry)
* Changes contain an entry file in the `src/changelog/.2.x.x` directory
* Tests for the changes are provided
diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml
deleted file mode 100644
index ad5e4cb2cc..0000000000
--- a/.github/workflows/benchmark.yml
+++ /dev/null
@@ -1,247 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache license, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the license for the specific language governing permissions and
-# limitations under the license.
-
-name: benchmark
-
-on: [ workflow_dispatch ]
-
-jobs:
-
- build:
-
- if: github.repository == 'apache/logging-log4j2'
-
- runs-on: ubuntu-latest
-
- steps:
-
- - name: Checkout repository
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b #
3.2.0
-
- # JDK 11 is needed for the build.
- # Search `maven-toolchains-plugin` usages for details.
- - name: Set up JDK 11
- uses: actions/setup-java@1df8dbefe2a8cbc99770194893dd902763bee34b #
3.9.0
- with:
- distribution: temurin
- java-version: 11
- java-package: jdk
- architecture: x64
- cache: maven
-
- # JDK 8 is needed for the build, and it is the primary bytecode target.
- # Hence, JDK 8 is set up after 11, so that JAVA_HOME used by Maven
during build will point to 8.
- - name: Set up JDK 8
- uses: actions/setup-java@1df8dbefe2a8cbc99770194893dd902763bee34b #
3.9.0
- with:
- distribution: temurin
- java-version: 8
- java-package: jdk
- architecture: x64
- cache: maven
-
- - name: Build with Maven
- shell: bash
- run: |
- ./mvnw \
- --show-version --batch-mode --errors --no-transfer-progress \
- --global-toolchains .github/workflows/maven-toolchains.xml \
- -DskipTests=true \
- --projects log4j-perf \
- --also-make \
- package
-
- - name: Upload built sources
- uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
# 3.1.0
- with:
- name: benchmarks.jar
- path: log4j-perf/target/benchmarks.jar
-
- run:
-
- needs: build
-
- runs-on: ${{ matrix.os }}
-
- strategy:
- matrix:
- os: [ macos-latest, ubuntu-latest, windows-latest ]
- jdk: [ 11, 17 ]
- concurrency: [ 1, 8 ]
- jmhCommand:
- - "-t $CONCURRENCY -f 3 -wi 3 -w 10s -i 4 -r 20s -prof gc -prof
perfnorm -rf json -rff results-layout-jtl.json
'.*JsonTemplateLayoutBenchmark.*Jtl4EcsLayout'"
- - "-t $CONCURRENCY -f 3 -wi 3 -w 10s -i 4 -r 20s -prof gc -prof
perfnorm -rf json -rff results-util-instant-format.json
'.*InstantFormatBenchmark.*'"
-
- steps:
-
- - name: Checkout repository
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b #
3.2.0
-
- - name: Download built sources
- uses:
actions/download-artifact@fb598a63ae348fa914e94cd0ff38f362e927b741 # 3.0.0
- with:
- name: benchmarks.jar
- path: log4j-perf/target
-
- - name: Set up JDK ${{ matrix.jdk }}
- uses: actions/setup-java@1df8dbefe2a8cbc99770194893dd902763bee34b #
3.9.0
- with:
- distribution: temurin
- java-version: ${{ matrix.jdk }}
- java-package: jdk
- architecture: x64
- cache: maven
-
- - name: Run benchmarks
- timeout-minutes: 120
- shell: bash
- run: |
- export CONCURRENCY=${{ matrix.concurrency }}
- java \
- -jar log4j-perf/target/benchmarks.jar \
- ${{ matrix.jmhCommand }}
-
- - name: Stage benchmark results for commit
- shell: bash
- run: |
-
- # Determine the artifact version.
- set -x
- ./mvnw \
- --batch-mode --quiet \
- -DforceStdout=true \
- -Dexpression=project.version \
- help:evaluate \
- | tee mvnw-project-version.out
- echo
-
- # Determine certain file path properties.
- export REVISION=$(<mvnw-project-version.out)
- export BRANCH_NAME=$(echo "$GITHUB_REF" | sed 's/refs\/heads\///g')
- export INSTANT=$(date -u +%Y%m%d)
- export OS_NAME=$(echo "${{ matrix.os }}" | sed 's/-latest//g')
- export RUN_ID=$(printf "%020d" "$GITHUB_RUN_ID")
-
- # Move and stage the result files.
- for SRC_FILEPATH in results-*.json; do
- export BENCHMARK_NAME=$(basename "$SRC_FILEPATH" | sed
's/^results-//g' | sed 's/\.json$//g')
- export
DST_FILEPATH="benchmark/results/$REVISION/$BRANCH_NAME-$INSTANT-$RUN_ID/$BENCHMARK_NAME-O$OS_NAME-J${{
matrix.jdk }}-C${{ matrix.concurrency }}.json"
- mkdir -v -p $(dirname "$DST_FILEPATH")
- mv -v "$SRC_FILEPATH" "$DST_FILEPATH"
- git add "$DST_FILEPATH"
- done
-
- # Stash changes for commit.
- git stash save
- git clean -f
-
- - name: Commit benchmark results
- timeout-minutes: 1
- shell: bash
- run: |
-
- # Checkout the results branch.
- set -x
- git fetch origin gh-pages
- git checkout -B gh-pages origin/gh-pages
-
- # Stage the stashed changes.
- # (`show + apply` is preferred over `pop`, since the latter fails if
file already exists.)
- git stash show -p | git apply
- git add benchmark/results
- git status --porcelain
- test $(git status --porcelain | wc -l) -gt 0 || exit 0
-
- # Commit changes.
- git config user.name github-actions
- git config user.email [email protected]
- git commit -a -m "Add benchmark results for ${{ runner.os }}, JDK
${{ matrix.jdk }}, and concurrency ${{ matrix.concurrency }}."
-
- # Push changes in a loop to allow concurrent repository
modifications.
- export RETRY=0
- while [ 1 ]; do
- set +e
- git push origin gh-pages 2>&1 | tee git-push.out
- if [ $? -eq 0 ]; then
- exit 0
- else
- set -e
- let RETRY+=1
- echo "retry #$RETRY"
- git pull -r origin gh-pages
- fi
- done
-
- index:
-
- runs-on: ubuntu-latest
- needs: run
-
- steps:
-
- - name: Checkout repository
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b #
3.2.0
- with:
- ref: gh-pages
-
- - name: Setup Python 3
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984
# 4.3.0
- with:
- python-version: 3.x
-
- - name: Index benchmark results
- timeout-minutes: 1
- shell: bash
- run: |
-
- # Configure the git user.
- git config user.name github-actions
- git config user.email [email protected]
-
- # Push changes in a loop to allow concurrent repository
modifications.
- export RETRY=0
- export INDEX_FILEPATH=benchmark/results/index.json
- while [ 1 ]; do
-
- # Generate the index file.
- python -c '\
- import json, os, re;\
- filepaths=[re.sub("^benchmark/results/", "",
os.path.join(root,filename)) \
- for (root, dirs, filenames) in os.walk("benchmark/results") \
- for filename in filenames]; \
- filepaths.remove("index.json"); \
- print(json.dumps(filepaths))' \
- >"$INDEX_FILEPATH"
-
- # Exit if there are no changes, that is, a concurrent job has
indexed all results.
- git diff --exit-code "$INDEX_FILEPATH" && exit 0
-
- # Commit the index file.
- git add "$INDEX_FILEPATH"
- git commit "$INDEX_FILEPATH" -m "Update benchmark results index."
-
- # Push the index file.
- set +e
- git push origin gh-pages 2>&1 | tee git-push.out
- if [ $? -eq 0 ]; then
- exit 0
- else
- set -e
- let RETRY+=1
- echo "retry #$RETRY"
- git pull -r origin gh-pages
- fi
-
- done
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e24796021c..3fe236b57a 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -18,7 +18,7 @@ name: build
on:
push:
branches:
- - release-2.x
+ - 2.x
pull_request:
permissions: read-all
@@ -130,7 +130,7 @@ jobs:
env:
MAVEN_OPTS: -Xms3072m -Xmx3072m
needs: build
- if: github.repository == 'apache/logging-log4j2' && github.ref ==
'refs/heads/release-2.x'
+ if: github.repository == 'apache/logging-log4j2' && github.ref ==
'refs/heads/2.x'
steps:
diff --git a/.github/workflows/codeql-analysis.yml
b/.github/workflows/codeql-analysis.yml
index 0f3ad74a45..a5ff9e0d74 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -17,11 +17,10 @@ name: "CodeQL"
on:
push:
- branches: [ release-2.x ]
- # TODO: add master branch if build can be more generic
+ branches: [ 2.x ]
pull_request:
- # The branches below must be a subset of the branches above
- branches: [ release-2.x ]
+ # The branches below must be a subset of the branches provided in
`on.push.branches`
+ branches: [ 2.x ]
schedule:
- cron: '32 12 * * 5'
diff --git a/.github/workflows/log4j-kafka-test.yml
b/.github/workflows/log4j-kafka-test.yml
index 3d9b477f90..8b734c8254 100644
--- a/.github/workflows/log4j-kafka-test.yml
+++ b/.github/workflows/log4j-kafka-test.yml
@@ -14,7 +14,8 @@
# limitations under the license.
name: log4j-kafka tests
-on: [workflow_dispatch]
+
+on: [ workflow_dispatch ]
permissions: read-all
@@ -56,4 +57,3 @@ jobs:
-Dkafka.version=${{ matrix.version }} \
-pl log4j-core-test -Dtest=Kafka*Test \
test
-
diff --git a/.github/workflows/scorecards-analysis.yml
b/.github/workflows/scorecards-analysis.yml
index 131c01e713..b329364734 100644
--- a/.github/workflows/scorecards-analysis.yml
+++ b/.github/workflows/scorecards-analysis.yml
@@ -20,7 +20,7 @@ on:
schedule:
- cron: "30 1 * * 6" # Weekly on Saturdays
push:
- branches: [ "release-2.x", "master" ]
+ branches: [ "2.x", "main" ]
permissions: read-all
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0ac106eba9..e3475ea5e2 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -35,7 +35,7 @@ follow so that we can have a chance of keeping on top of
things.
## Making Changes
-+ Create a topic branch from where you want to base your work (this is usually
the master branch).
++ Create a topic branch from where you want to base your work (this is usually
the `2.x` branch).
+ Make commits of logical units.
+ Respect the original code style:
+ Only use spaces for indentation.
diff --git a/src/site/asciidoc/manual/json-template-layout.adoc.vm
b/src/site/asciidoc/manual/json-template-layout.adoc.vm
index 2fbce39a54..d6c503385c 100644
--- a/src/site/asciidoc/manual/json-template-layout.adoc.vm
+++ b/src/site/asciidoc/manual/json-template-layout.adoc.vm
@@ -395,14 +395,14 @@ serialize ``LogEvent``s. The default configuration
(accessible by
`classpath:EcsLayout.json` provided by the `log4j-layout-template-json`
artifact, which contains the following predefined event templates:
--
https://github.com/apache/logging-log4j2/tree/master/log4j-layout-template-json/src/main/resources/EcsLayout.json[`EcsLayout.json`]
+-
https://github.com/apache/logging-log4j2/tree/main/log4j-layout-template-json/src/main/resources/EcsLayout.json[`EcsLayout.json`]
described by
https://www.elastic.co/guide/en/ecs/current/ecs-reference.html[the Elastic
Common Schema (ECS) specification]
--
https://github.com/apache/logging-log4j2/tree/master/log4j-layout-template-json/src/main/resources/LogstashJsonEventLayoutV1.json[`LogstashJsonEventLayoutV1.json`]
+-
https://github.com/apache/logging-log4j2/tree/main/log4j-layout-template-json/src/main/resources/LogstashJsonEventLayoutV1.json[`LogstashJsonEventLayoutV1.json`]
described in https://github.com/logstash/log4j-jsonevent-layout[Logstash
`json_event` pattern for log4j]
--
https://github.com/apache/logging-log4j2/tree/master/log4j-layout-template-json/src/main/resources/GelfLayout.json[`GelfLayout.json`]
+-
https://github.com/apache/logging-log4j2/tree/main/log4j-layout-template-json/src/main/resources/GelfLayout.json[`GelfLayout.json`]
described by
https://docs.graylog.org/en/3.1/pages/gelf.html#gelf-payload-specification[the
Graylog Extended Log Format (GELF) payload specification] with additional
`_thread` and `_logger` fields. (Here it is advised to override the
obligatory
@@ -410,7 +410,7 @@ artifact, which contains the following predefined event
templates:
xref:additional-event-template-fields[additional event template fields]
to avoid `hostName` property lookup at runtime, which incurs an extra cost.)
--
https://github.com/apache/logging-log4j2/tree/master/log4j-layout-template-json/src/main/resources/GcpLayout.json[`GcpLayout.json`]
+-
https://github.com/apache/logging-log4j2/tree/main/log4j-layout-template-json/src/main/resources/GcpLayout.json[`GcpLayout.json`]
described by https://cloud.google.com/logging/docs/structured-logging[Google
Cloud Platform structured logging] with additional
`_thread`, `_logger` and `_exception` fields. The exception trace, if any,
@@ -419,7 +419,7 @@ artifact, which contains the following predefined event
templates:
information, while the latter is Google's expected place for the exception,
and integrates with https://cloud.google.com/error-reporting[Google Error
Reporting].
--
https://github.com/apache/logging-log4j2/tree/master/log4j-layout-template-json/src/main/resources/JsonLayout.json[`JsonLayout.json`]
+-
https://github.com/apache/logging-log4j2/tree/main/log4j-layout-template-json/src/main/resources/JsonLayout.json[`JsonLayout.json`]
providing the exact JSON structure generated by
link:layouts.html#JSONLayout[`JsonLayout`]
with the exception of `thrown` field. (`JsonLayout` serializes the
`Throwable`
as is via Jackson `ObjectMapper`, whereas `JsonLayout.json` template of
diff --git a/src/site/markdown/log4j-docker.md.vm
b/src/site/markdown/log4j-docker.md.vm
index 6ce02e5db7..4853bd5c5b 100644
--- a/src/site/markdown/log4j-docker.md.vm
+++ b/src/site/markdown/log4j-docker.md.vm
@@ -28,7 +28,7 @@ $h2 Accessing Docker
The Log4j Docker support requires access to the Docker REST interface. In
practical terms this means the
application either needs access to unix:///var/run/docker.sock through a
volume mount (not recommended),
bind Docker to another host/port or unix socket. or use a proxy application to
provide access. The
-[Log4j Spring Cloud sample
application](https://github.com/apache/logging-log4j2/tree/master/log4j-spring-cloud-config/log4j-spring-cloud-config-samples/log4j-spring-cloud-config-sample-application)
+[Log4j Spring Cloud sample
application](https://github.com/apache/logging-log4j2/tree/main/log4j-spring-cloud-config/log4j-spring-cloud-config-samples/log4j-spring-cloud-config-sample-application)
uses a socat proxy to access Docker.
$h2 Lookup Attributes
diff --git a/src/site/markdown/manual/cloud.md
b/src/site/markdown/manual/cloud.md
index 3294387de0..595eec9964 100644
--- a/src/site/markdown/manual/cloud.md
+++ b/src/site/markdown/manual/cloud.md
@@ -35,7 +35,7 @@ Solutions for this are to:
to the operating system so that the output can be piped into a file. The
overhead of all this is measurably slower
than just writing directly to a file as can be seen in these benchmark results
where logging
to stdout is 16-20 times slower over repeated runs than logging directly to
the file. The results below were obtained by
-running the [Output
Benchmark](https://github.com/apache/logging-log4j2/blob/release-2.x/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/OutputBenchmark.java)
+running the [Output
Benchmark](https://github.com/apache/logging-log4j2/blob/2.x/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/OutputBenchmark.java)
on a 2018 MacBook Pro with a 2.9GHz Intel Core i9 processor and a 1TB SSD.
However, these results alone would not be
enough to argue against writing to the standard output stream as they only
amount to about 14-25 microseconds
per logging call vs 1.5 microseconds when writing to the file.
diff --git a/src/site/markdown/maven-artifacts.md.vm
b/src/site/markdown/maven-artifacts.md.vm
index 055f68d425..8718ce44a7 100644
--- a/src/site/markdown/maven-artifacts.md.vm
+++ b/src/site/markdown/maven-artifacts.md.vm
@@ -309,10 +309,10 @@ $h2 Snapshot builds
You can access the latest development snapshot by using the Maven repository
`https://repository.apache.org/snapshots` and the current SNAPSHOT version.
-Generally, the master branch will use the next patch version as its snapshot
+Generally, the `main` branch will use the next patch version as its snapshot
version regardless of what the next actual version of Log4j will be. For
example,
-if the latest release were `2.0`, then master would be using the version
-`2.0.1-SNAPSHOT`. Always verify with `pom.xml` in the master branch as
described
+if the latest release were `2.0`, then `main` would be using the version
+`2.0.1-SNAPSHOT`. Always verify with `pom.xml` in the `main` branch as
described
in the [source repository page](source-repository.html).
$h3 Maven