Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: apache/logging-log4net
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: rc/3.0.2-preview.1
Choose a base ref
...
head repository: apache/logging-log4net
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Oct 17, 2024

  1. Merge pull request #195 from apache/Feature/TelnetBug

    #194 fixed a bug in the Dispose-Logic of TelnetAppender
    FreeAndNil authored Oct 17, 2024
    Copy the full SHA
    a1c0aec View commit details

Commits on Oct 18, 2024

  1. more modern coding style (#196)

    * - convert to filescoped namespaces
    - use collection expressions
    - removed prefix m_ from private fields
    
    * switched to prefix _ for private fields
    FreeAndNil authored Oct 18, 2024
    Copy the full SHA
    ab16a6e View commit details
  2. Copy the full SHA
    36ea5b4 View commit details
  3. Copy the full SHA
    fd3e752 View commit details
  4. Copy the full SHA
    6b0c27e View commit details
  5. Copy the full SHA
    8ae67d1 View commit details
  6. Copy the full SHA
    d0d9c9b View commit details
  7. fixed review instructions

    FreeAndNil committed Oct 18, 2024
    Copy the full SHA
    2d61039 View commit details
  8. Copy the full SHA
    f81fa5f View commit details

Commits on Oct 21, 2024

  1. Copy the full SHA
    ffbe09e View commit details
  2. Copy the full SHA
    7a0a551 View commit details
  3. Copy the full SHA
    def3b58 View commit details
  4. Copy the full SHA
    5b3d566 View commit details

Commits on Oct 22, 2024

  1. Copy the full SHA
    ed478a7 View commit details
  2. Copy the full SHA
    884dbf6 View commit details
  3. Copy the full SHA
    ec95778 View commit details
  4. switched to NUnit 4.2.2

    FreeAndNil committed Oct 22, 2024
    Copy the full SHA
    1a552fe View commit details
  5. Copy the full SHA
    39ed3b3 View commit details
  6. Merge pull request #200 from apache/Feature/NUnitBump

    bumped NUnit to 4.2.2
    FreeAndNil authored Oct 22, 2024
    Copy the full SHA
    b008475 View commit details
  7. Copy the full SHA
    0a23bc0 View commit details
  8. Copy the full SHA
    c40eb18 View commit details
  9. Copy the full SHA
    1296388 View commit details
  10. Copy the full SHA
    fb9235d View commit details

Commits on Oct 23, 2024

  1. fixed remaining warnings

    FreeAndNil committed Oct 23, 2024
    Copy the full SHA
    3aed7cb View commit details
  2. Copy the full SHA
    9defeaf View commit details
  3. Copy the full SHA
    ebbd22c View commit details
  4. removed duplicate rules

    FreeAndNil committed Oct 23, 2024
    Copy the full SHA
    6356bfb View commit details

Commits on Oct 24, 2024

  1. Merge pull request #201 from apache/Feature/NetAnalyzers

    Enable Microsoft.CodeAnalysis.NetAnalyzers
    FreeAndNil authored Oct 24, 2024
    Copy the full SHA
    f320793 View commit details
  2. Copy the full SHA
    72fdee8 View commit details
  3. 3.0.3-preview.1

    FreeAndNil committed Oct 24, 2024
    Copy the full SHA
    9c6631b View commit details
  4. Copy the full SHA
    f87956b View commit details
  5. Copy the full SHA
    96e736c View commit details
  6. Copy the full SHA
    ff7eff5 View commit details

Commits on Oct 31, 2024

  1. Fix empty string received by .NET 8 users on Linux on userName (#199)

    * Fix UserName for non-Windows users
    
    * Add unit test for UserName and apply style suggestions
    
    * Add docs
    
    * Fix test
    
    * Extend try and upgrade docs
    gdziadkiewicz authored Oct 31, 2024
    Copy the full SHA
    f0cbfea View commit details

Commits on Nov 1, 2024

  1. use raw strings for config files in unit tests (#203)

    * - use raw strings for config files in unt tests
    - fixed more warnings
    
    * - normalized indentation for raw strings
    - removed type prefixes from parameters in RollingFileAppenderTest
    FreeAndNil authored Nov 1, 2024
    Copy the full SHA
    f745a69 View commit details

Commits on Nov 2, 2024

  1. Copy the full SHA
    1c627f5 View commit details
  2. Copy the full SHA
    240e0a0 View commit details

Commits on Nov 4, 2024

  1. Copy the full SHA
    407945c View commit details
  2. Copy the full SHA
    78bb356 View commit details
  3. Copy the full SHA
    a7f90b8 View commit details

Commits on Nov 7, 2024

  1. Update version for 3.0.4

    FreeAndNil committed Nov 7, 2024
    Copy the full SHA
    0f8b41c View commit details

Commits on Nov 15, 2024

  1. Turn on the CI build for PRs (#204)

    * Divide steps
    * Try the approach from build doc
    * Add PR trigger
    * Fix branch name
    * Try dotnet build & test
    * Enable quackers
    * Remove Zarro from the CI build
    gdziadkiewicz authored Nov 15, 2024
    Copy the full SHA
    2d68abc View commit details

Commits on Dec 14, 2024

  1. Copy the full SHA
    33aea96 View commit details

Commits on Dec 19, 2024

  1. Copy the full SHA
    1a6ff0f View commit details

Commits on Feb 5, 2025

  1. Copy the full SHA
    f06a0bc View commit details
  2. Copy the full SHA
    9d9edcf View commit details
  3. Copy the full SHA
    4e4ca9d View commit details

Commits on Feb 6, 2025

  1. Copy the full SHA
    2545075 View commit details
  2. Merge pull request #228 from apache/Feature/228-show-config-file-path…

    …-in-error-message
    
    Show config file path in error message
    FreeAndNil authored Feb 6, 2025
    Copy the full SHA
    0baea74 View commit details
  3. added #227 / #228 to release notes

    FreeAndNil committed Feb 6, 2025
    Copy the full SHA
    00cc486 View commit details
Showing 334 changed files with 44,021 additions and 44,328 deletions.
113 changes: 90 additions & 23 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
indent_style = space
indent_size = 2

[*.{cs,vb}]
[*.cs]
#### Naming styles ####

# Naming rules
@@ -18,34 +15,53 @@ dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

## constant fields should be PascalCase
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = error
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.required_modifiers = const
dotnet_naming_style.pascal_case_style.capitalization = pascal_case

dotnet_naming_rule.private_members_with_underscore.symbols = private_fields
dotnet_naming_rule.private_members_with_underscore.style = prefix_underscore
dotnet_naming_rule.private_members_with_underscore.severity = suggestion

dotnet_naming_symbols.private_fields.applicable_kinds = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private

dotnet_naming_style.prefix_underscore.capitalization = camel_case
dotnet_naming_style.prefix_underscore.required_prefix = _

# Symbol specifications

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =
dotnet_naming_symbols.interface.required_modifiers =

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers =
dotnet_naming_symbols.types.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =
dotnet_naming_symbols.non_field_members.required_modifiers =

# Naming styles

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_style_operator_placement_when_wrapping = beginning_of_line
tab_width = 2
indent_size = 2
indent_style = space
end_of_line = crlf
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
@@ -61,7 +77,7 @@ dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_compound_assignment = true:suggestion
dotnet_style_prefer_simplified_interpolation = true:suggestion
dotnet_style_prefer_collection_expression = when_types_loosely_match:suggestion
dotnet_style_prefer_collection_expression = when_types_loosely_match:none
dotnet_style_namespace_match_folder = true:suggestion
dotnet_style_readonly_field = true:suggestion
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
@@ -70,20 +86,15 @@ dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
dotnet_style_allow_multiple_blank_lines_experimental = true:silent
dotnet_style_allow_statement_immediately_after_block_experimental = true:silent
dotnet_code_quality_unused_parameters = all:suggestion
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
dotnet_style_qualification_for_field = false:silent
dotnet_style_qualification_for_property = false:silent
dotnet_style_qualification_for_method = false:silent
dotnet_style_qualification_for_event = false:silent

[*.cs]
csharp_indent_labels = one_less_than_current
csharp_using_directive_placement = outside_namespace:silent
csharp_prefer_simple_using_statement = true:suggestion
csharp_prefer_braces = true:suggestion
csharp_style_namespace_declarations = block_scoped:silent
csharp_style_prefer_method_group_conversion = true:silent
csharp_style_prefer_top_level_statements = false:silent
@@ -103,7 +114,7 @@ csharp_space_around_binary_operators = before_and_after
csharp_style_prefer_local_over_anonymous_function = true:suggestion
csharp_style_prefer_index_operator = true:suggestion
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
csharp_style_prefer_range_operator = true:suggestion
csharp_style_prefer_range_operator = true:none
csharp_style_prefer_tuple_swap = true:suggestion
csharp_style_prefer_utf8_string_literals = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion
@@ -125,9 +136,52 @@ csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_prefer_not_pattern = true:suggestion
csharp_style_prefer_extended_property_pattern = true:suggestion
csharp_style_var_for_built_in_types = false:silent
csharp_style_var_when_type_is_apparent = false:silent
csharp_style_var_elsewhere = false:silent

# Microsoft .NET properties
csharp_new_line_before_members_in_object_initializers = false
csharp_preferred_modifier_order = public, private, protected, internal, file, static, volatile, async, sealed, extern, virtual, abstract, new, unsafe, override, readonly, required:suggestion
csharp_prefer_braces = true:none
csharp_preserve_single_line_blocks = true
csharp_style_var_elsewhere = false:suggestion
csharp_style_var_for_built_in_types = false:suggestion
csharp_style_var_when_type_is_apparent = false:suggestion
dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:none
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:none
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:none

# ReSharper properties
resharper_align_multiline_binary_expressions_chain = false
resharper_blank_lines_after_block_statements = 0
resharper_blank_lines_after_start_comment = 0
resharper_blank_lines_after_using_list = 0
resharper_blank_lines_around_property = 0
resharper_blank_lines_around_single_line_local_method = 1
resharper_braces_redundant = true
resharper_constructor_or_destructor_body = expression_body
resharper_csharp_blank_lines_around_field = 0
resharper_csharp_blank_lines_around_invocable = 0
resharper_csharp_blank_lines_around_region = 0
resharper_csharp_blank_lines_inside_region = 0
resharper_csharp_empty_block_style = together
resharper_csharp_indent_size = 2
resharper_csharp_keep_existing_enum_arrangement = false
resharper_csharp_remove_blank_lines_near_braces_in_declarations = false
resharper_csharp_wrap_before_binary_opsign = true
resharper_instance_members_qualify_declared_in =
resharper_max_attribute_length_for_same_line = 70
resharper_method_or_operator_body = expression_body
resharper_parentheses_redundancy_style = remove
resharper_place_accessorholder_attribute_on_same_line = false
resharper_place_expr_accessor_on_single_line = true
resharper_place_expr_property_on_single_line = true
resharper_place_field_attribute_on_same_line = false
resharper_place_simple_initializer_on_single_line = false
resharper_space_between_attribute_sections = false
resharper_use_roslyn_logic_for_evident_types = true
resharper_wrap_after_primary_constructor_declaration_lpar = false
resharper_wrap_before_arrow_with_expressions = true
resharper_wrap_object_and_collection_initializer_style = chop_always
resharper_wrap_primary_constructor_parameters_style = wrap_if_long

# SYSLIB0003: Type or member is obsolete
dotnet_diagnostic.SYSLIB0003.severity = none
@@ -138,4 +192,17 @@ dotnet_diagnostic.SYSLIB0014.severity = none
# SYSLIB0050: Type or member is obsolete
dotnet_diagnostic.SYSLIB0050.severity = none
# SYSLIB0051: Type or member is obsolete
dotnet_diagnostic.SYSLIB0051.severity = none
dotnet_diagnostic.SYSLIB0051.severity = none

# KR1010: Use correct class field name prefixes
dotnet_diagnostic.KR1010.severity = none
# KR1012: Classes should be sealed.
dotnet_diagnostic.KR1012.severity = none
# KR1013: Name base classes correctly
dotnet_diagnostic.KR1013.severity = none
# KR1037: Use EnvironmentHelper instead of DateTime.
dotnet_diagnostic.KR1037.severity = none
# NUnit2045: Use Assert.Multiple
dotnet_diagnostic.NUnit2045.severity = none
# IDE0079: Remove unnecessary suppressions
dotnet_diagnostic.IDE0079.severity = none
26 changes: 26 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#
# 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.
#
##
# This file controls the "Sponsor" button in this repo.
# For details see:
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository
#
# This list includes in the same order, committers of Log4net listed on:
# https://logging.apache.org/support.html#sponsors
github:
- fluffynuts
- FreeAndNil
28 changes: 15 additions & 13 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -19,6 +19,10 @@ name: build

on:
workflow_dispatch:
push:
branches:
- master
pull_request:

jobs:

@@ -29,7 +33,11 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ macos-latest, ubuntu-latest, windows-latest ]
os: [ macos-latest, ubuntu-22.04, windows-latest ]

env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_CLI_TELEMETRY_OPTOUT: 1

steps:

@@ -42,16 +50,10 @@ jobs:
dotnet-version: 8
dotnet-quality: ga

- name: Set up NodeJs
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # 4.0.3
with:
node-version: 20

- name: Build and test
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_CLIE_TELEMETRY_OPTOUT: 1
- name: Build
run: |
dotnet build ./src/log4net.sln
- name: Test
run: |
npm update -g npm --no-progress
npm install --no-progress
npm test
dotnet test ./src/log4net.sln
12 changes: 5 additions & 7 deletions doc/MailTemplate.Announce.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
To: announce@apache.org, dev@logging.apache.org
Subject: [ANNOUNCE] Apache log4net 3.0.2 released
To: announce@apache.org, dev@logging.apache.org
Subject: [ANNOUNCE] Apache log4net 3.0.5 released

Hi,

the Apache log4net team is pleased to announce the 3.0.2 release.
the Apache log4net team is pleased to announce the 3.0.5 release.
For further information (support, download, etc.) see
- https://logging.apache.org/log4net/release/release-notes.html
- https://github.com/apache/logging-log4net/releases/tag/rel%2F3.0.2
- https://www.nuget.org/packages/log4net/3.0.2

== Release Notes
- https://github.com/apache/logging-log4net/releases/tag/rel%2F3.0.5
- https://www.nuget.org/packages/log4net/3.0.5
6 changes: 3 additions & 3 deletions doc/MailTemplate.Result.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
To: dev@logging.apache.org
Subject: [RESULT][VOTE] Release Apache Log4net 3.0.2
To: dev@logging.apache.org
Subject: [RESULT][VOTE] Release Apache Log4net 3.0.5

and here is my +1.

@@ -9,6 +9,6 @@ I will continue the release process.
Jan

---------------------------------------------------------------------------------------------------
This is a vote to release the Apache Log4net 3.0.2.
This is a vote to release the Apache Log4net 3.0.5.

...
10 changes: 5 additions & 5 deletions doc/MailTemplate.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
To: dev@logging.apache.org
Subject: [VOTE] Release Apache Log4net 3.0.2
To: dev@logging.apache.org
Subject: [VOTE] Release Apache Log4net 3.0.5

This is a vote to release the Apache Log4net 3.0.2.
This is a vote to release the Apache Log4net 3.0.5.

Website: https://logging.staged.apache.org/log4net/release/release-notes.html
GitHub: https://github.com/apache/logging-log4net
Commit: <todo insert>
Distribution: https://dist.apache.org/repos/dist/dev/logging/log4net/3.0.2
Distribution: https://dist.apache.org/repos/dist/dev/logging/log4net/3.0.5
Signing key: 0x7D24496A230E29D6349A99EF583E491578F02D5D
Review kit: https://logging.apache.org/log4net/release/release-review-instructions.html

@@ -17,4 +17,4 @@ Please download, test, and cast your votes on this mailing list.

This vote is open for 72 hours and will pass unless getting a net negative vote count.
All votes are welcome and we encourage everyone to test the release, but only the
Logging Services PMC votes are officially counted.
Logging Services PMC votes are officially counted.
44 changes: 18 additions & 26 deletions doc/RELEASING.md
Original file line number Diff line number Diff line change
@@ -21,37 +21,29 @@ release version 2.0.123:
- people who reported issues
- people who created pull requests
- people who suggested code that was implemented
2. Update the log4net.csproj file with this new version
3. Build release artifacts with `npm run release`
2. Build release artifacts with `npm run release`
- if this doesn't work, you may need to `npm ci` first!
- currently, this _must_ happen on a windows machine because of older
.net framework requirements which cannot be met on a Linux machine
(or at least, I haven't figured out how - in particular CF)
4. Sign release artifacts (zips & nupkg) under `build/artifacts`
- eg `gpg --armor --output log4net-2.0.123.nupkg.asc --detach-sig log4net-2.0.123.nupkg`
- there is an accompanying `sign-log4net-libraries.sh/ps1` under scripts which you could invoke if you cd
into the `build/artifacts` folder
- I build on Windows and sign on Linux as my build machine belongs to my company
and I don't want to store keys there. Always protect your keys fervently!
5. Clone out the log4net doc repo (https://github.com/apache/logging-log4net-site)
3. Sign release artifacts (zips & nupkg) under `build/artifacts`
- `./scripts/sign-log4net-libraries.sh/ps1`
4. Clone out the log4net doc repo (https://github.com/apache/logging-log4net-site)
- check out the `asf-staging` branch
- create a folder which includes the version, eg `log4net-2.0.123`
6. Copy the contents of `target/site` from this repo into the folder created in (5)
5. Copy the contents of `target/site` from this repo into the folder created in (5)
- remember to either update or link in sdk docs from a prior release
7. Update the symlinks in the base of the docs repo, ie:
6. Update the symlinks in the base of the docs repo, ie:
- 2.0.x -> 2.0.123
- 2.x -> 2.0.123
8. update the `doap_log4net.rdf` to point to the new release
7. update the `doap_log4net.rdf` to point to the new release
- (copy-paste-modify an existing release)
9. update the `.htaccess` file
8. update the `.htaccess` file
- the trailing RewriteRule should point to the new log4net-2.0.123 folder
10. push the `asf-staging` branch to github and wait a bit
- after a minute or two, check the updates at https://logging.staged.apache.org/log4net
- are you seeing the correct releases page?
- download links should (at this point) not work
11. create an rc-releasd at GitHub with a tag like `rc/2.0.123-rc1`
9. push the `asf-staging` branch to github and wait a bit
- after a minute or two, check the updates at https://logging.staged.apache.org/log4net
- are you seeing the correct releases page?
- download links should (at this point) not work
10. create an rc-releasd at GitHub with a tag like `rc/2.0.123-rc1`
- attach all the files from the build/artifacts folder, _including signatures_
12. get the artifacts in build/artifacts up to https://downloads.apache.org/logging/log4net/
11. get the artifacts in build/artifacts up to https://downloads.apache.org/logging/log4net/
- `svn co https://dist.apache.org/repos/dist/dev/logging -N apache-dist-logging-dev`
- `cd apache-dist-logging-dev`
- `svn up log4net`
@@ -61,10 +53,10 @@ release version 2.0.123:
- `svn add *`
- `svn commit -m 'log4net 2.0.123'`
- check https://dist.apache.org/repos/dist/dev/logging/log4net/2.0.123/
13. raise a vote on the log4net mailing list (dev@logging.apache.org) - see MailTemplate.txt
14. wait
15. when the vote has 3 or more +1's, it's time to go live!
16. copy the apache artifacts (binary and source) to the release svn repo and commit
12. raise a vote on the log4net mailing list (dev@logging.apache.org) - see MailTemplate.txt
13. wait
14. when the vote has 3 or more +1's, it's time to go live!
15. copy the apache artifacts (binary and source) to the release svn repo and commit
- `svn co https://dist.apache.org/repos/dist/release/logging -N apache-dist-logging-release`
- `cd apache-dist-logging-release`
- `svn up log4net`
Loading