-
Notifications
You must be signed in to change notification settings - Fork 39
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
V3 #114
base: master
Are you sure you want to change the base?
V3 #114
Conversation
Hey @mo-esmp after a long development, I finally completed the work on the UI v3 version and I'm happy to show the results 😄 The PR became, well... enormous, I know, but it's mainly because I tried to refactor everything useful for the future and there are lots of files deleted/removed 😸 In the PR description, I added all details about it. One of the main topic is the Additional Columns feature, I described it here 😃
If you're curious, code coverage will be up to a minimum of 90 %, both BE and FE 👍 In the wiki, I wrote already all the required pages/info, you can check them starting from here If you want to test it out-of-the-box, you'll only need to checkout my branch and launch WebApp project - you'll have everything up-and-running without any setup at all!! [I wrote details here] I already published an alpha version of all packages (except RavenDB, because I'm not an owner) and used them in the repository samples! 🛩️ Anyway... I hope you'll like the changes; I'm really happy to hear back from you any feedback, suggestion, doubt, anything that we can change/redo/rework. This was a first finale version of the v3 but I'm 100% open to work on it to improve even further based on your suggestions 😄 |
Hi Matt, I wanted to thank you for all the time and effort you put into v3. As it is a significant PR, I won't be checking the code style or minor details. Instead, I will do some manual testing and approve the PR. Later on, I will go through each project carefully and address issues such as code style and start to improve the projects together. Thank you again for your hard work. |
e3cf76f
to
e925baa
Compare
Update: implemented #119 in 3.0.0-alpha.v2 |
I'm attempting to test the 3.x alpha versions in my project that currently uses v2, but I'm running into issues building where it looks like the
I am using the net6.0 version if that matters. Any ideas what's going on here? |
Hey @tterrag1098 Thanks a lot for testing! I checked those packages and they target from NET6 onwards, thus they should be fine. If you comment any serilog-ui setup code, does the project compile or it still fails to restore the dlls? (EDIT: another guess that came to my mind is about mismatching versions of the same assembly, you could check if those two dlls are included from other packages) EDIT2: (on a similar topic, not sure if it could help: dotnet/runtime#93780) Can I ask you, when you have time, to try the following:
I want to understand if it happens on the samples/clean projects or if it is an issue with migrating the project (or the nuget local cache)... |
@tterrag1098: a small update, I tried running the repository sample and a new clean project targeting NET6 and they both worked. Can you kindly let me know if the issue still occurs and add any additional detail on which provider are you using? |
I'm not sure what you're referring to by "provider", but it's a VS solution with quite a few dependencies. However I've looked through the entire manifest and nothing directly refers to these versions of Json/DI. Can you use ildasm on the dlls you have and see if these extern entries exist there too? |
This is the specific error I get from CSC:
|
UI v3!
What to expect in the new UI:
What to expect in the Backend:
Breaking changes
IHttpContextAccessor
interfaceNew features - BE
Sort option
The user can now sort the search by: timestamp | message | level
with direction ASC | DESC
Known limitation: ElasticSearch provider has a fixed sort by timestamp, due to the sink indexes limitation.
Authorization filters
Registration is now managed by DI; there are some new extensions method that take a T implementation of filter and register it as scoped [example: src/Serilog.Ui.Core/Extensions/SerilogUiOptionsBuilderExtensions.cs].
Added a new AuthorizationFilter:
PolicyAuthorizationFilter
, that check authorization based on a registered policyMySql/MariaDB
Split provider registration in 2 extension methods, to better help user the end user choose the correct provider based on the used sink.
Refactor
Bugfix