-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing pieces before NLog 5.0 release candidate #4274
Comments
Because of Travis-build-pipeline issues, then waiting for #4271 to be approved and Travis being disabled for this project. |
@304NotModified Since we are working on extracting exotic stuff from the NLog-package. Would it be a big issue if the QueryPerformanceCounterLayoutRenderer |
@304NotModified Thinking that it might be an idea to create a meta-package for the NLog-project, that includes the following nuget-packages:
The meta-package should automatically bump its version, whenever updating one of its dependencies. It could be done by not moving these dependencies out of the NLog-repository. But try to ensure they don't have Windows-specific unit-testing. |
Starting to convince myself that a lot of the convenience with NLog is lost when extracting these into seperate packages:
Did a comparison of adding NLog to a simple ConsoleApp with AppTriming and SingleEXE. It grew from 11 MByte to 21 MByte. When using NLog without the above packages then it became 19 MByte. Think NLog needs to be re-assembled completely if wanting to reduce its dependencies. Maybe it should just be an exercise in removing Windows-specific stuff from the respository so people on other platforms can approach the Nlog-project. Along with removing DatabaseTarget to fix the code-analysis warnings because it can execute SQL. |
I like meta packages. Best if both worlds. I think the metal package should be called NLog and the "core" NLog.Core |
What's lost if we've a meta package? |
I have decided to bravely revert the changes of extracting MailTarget + NetworkTarget + WebServiceTarget, so they become part of the default NLog-project (again). Will instead just focus on extracting the database-target and the other exotic targets that are very Windows specific. To make the NLog-project approachable from other operating systems than Windows. Made some stabs on stripping all targets and all layoutrenderers from the NLog-project, and still the AppTriming could not reduce below 19 MByte. Think somebody has to take a microscope and check parts of the NLog-infrastructure that prevents triming. |
That it just generates a lot of inconvience without providing any real benefit. Lots of loosers and no winners. |
The real benefit is that an user could choose to include less targets. That is also nice for security reasons. Also I think in the future those should be separate repositores and builds, so the build don't take ages. |
Since NLog doesn't start doing random things on its own, but only perform logging to the targets that has been configured. Then I don't see this an issue. The only security issue that I see is the automatic assembly loading, and that will now be disabled in NLog 5. I'm not going to revert everything, but I will just let WebServiceTarget and MailTarget glide back into the NLog-project. Neither of them gives any overhead in the build-process. |
Believe the remaining pieces for completing NLog 5.0 are now ready as pull-requests. |
Now just need #4351 for extracting DatabaseTarget into its own nuget-package. |
Have now removed all my own issues where no pull-request is ready. Maybe you could do the same? |
Yes, will do that |
You want me to move the outstanding issues to NLog 6.0 ? |
All checkboxes has been ticked. Created #4468 with major-version bump to 5.0-preview1 |
Issues that need attention after releasing NLog 5.0 Preview 1 (needs documentation on wiki) |
Completed updating the necessary wiki-pages, but left one for @304NotModified to complete. |
Closing since NLog 5.0-rc1 is now out. Still waiting for pending wiki-update: #4716 |
Have now made a draft document of the upcoming release:
NLog/NLog.github.io#158
Have the following tasks remaining:
Extract Mail-Target into NLog.SmtpClient-packageExtract Network-Target (Along with NLogViewerTarget + ChainsawTarget) into NLog.NetworkSocket-packageExtract HostNameLayoutRenderer into NLog.NetworkSocket-packageExtract LocalIpAddressLayoutRenderer into NLog.NetworkSocket-packageExtract WebService-Target into NLog.WebRequest-package- Leave behind DebugSystemTarget that can call System.Diagnostics.Debug.WriteLine
- The layout is called
${qpc}
which also doesn't give much meaning.- Maybe call it NLog.HighPrecisionTiming since nothing to do with Windows PerformanceCounters.
- But that name is also misleading since there is no high precision because the layoutrender infers a huge overhead.
- Think it should be removed and one should instead use
${scopetiming}
or${processtime}
Layout<T>
should be merged withAdded Typed layout #3656Typed Layout for easy conversion from Layout to simple value #4306LogFactory.Setup().SetupExtensions()
NLog.config
-nuget-packageThe text was updated successfully, but these errors were encountered: