Verify Target-Ref working with SplitGroup with AppSettings.json

Open
#667 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
csharp

Research direction

Start by reproducing the AppSettings.json configuration with the SplitGroup target and its logconsole and email references, then compare its behavior with the XML target-ref example. Determine whether declaration order or dictionary sorting affects target resolution; done means the behavior is verified and any required change is identified.

Written by the indexing model from the issue text.

Description

enhancement up-for-grabs

Could be nice if one could do this:

{
  "NLog": {
    "throwConfigExceptions": true,
    "targets": {
      "logconsole": {
        "type": "Console"
      },
      "email": {
        "type": "mail"
      },
      "bothTargets": {
        "type": "SplitGroup",
        "targets": {
            "logconsole": null,
            "email": null
        }
      }
    },
    "rules": [
      {
        "logger": "*",
        "minLevel": "Info",
        "writeTo": "bothTargets"
      }
    ]
  }
}

Maybe one will get "cheated" by the automatic sorting of dictionary-items, so the splitgroup must be named so it comes "last", after the other target-names to ensure they have been parsed/declared.

Similar to this:

<targets>  
   <target name='email' xsi:type='mail' />
   <target name='logconsole' xsi:type='console' />

   <target name="bothTargets" xsi:type="SplitGroup">
        <target-ref name="logconsole" />
        <target-ref name="email" />
   </target>
</targets>

See also: https://github.com/NLog/NLog.Extensions.Logging/issues/568#issuecomment-1030264661

Dominant language
C#
Stars
404
Forks
149
Avg merge
10h 59m
Merged PRs (30d)
18

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from NLog/NLog.Extensions.Logging

All issues in NLog/NLog.Extensions.Logging

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.