Giter Club home page Giter Club logo

compact-log-format-viewer's Introduction

Compact Log Format Viewer πŸ” πŸ“ˆ

A cross platform tool to read & query JSON aka CLEF log files created by Serilog

screenshot

Download

Releases are available on this GitHub Repository along on the Windows Store

Windows

English badge

MacOS

The metrics for the MacOS usage was too little & I don't currently build/release any other Apple apps, so my Apple Developer subscription lapsed. I assumed the application would still be available to download but that I would not be able to push any new updates. However it seems Apple just removes the listing :(

For now I recommend you build it manually. In future I may do auto-updates via GitHub releases instead of app stores.

Building

You will need the following installed:

  • node/npm
  • .NET Core SDK 2.2+

For OSX & Windows you can download the SDK here or install Visual Studio for Mac/Windows which includes the dotnet CLI tool
https://dotnet.microsoft.com/download
https://visualstudio.microsoft.com/vs/

Build Steps πŸ”¨πŸ“

  • Clone Repo
  • Open terminal in root of project
  • dotnet publish LogViewer.Server --runtime osx-x64 --output LogViewer.Server/bin/dist/osx --configuration release -p:PublishSingleFile=true generates a self contained application for our WebAPI
  • dotnet publish LogViewer.Server --runtime win-x64 --output LogViewer.Server/bin/dist/win --configuration release -p:PublishSingleFile=true same but creates the Windows version
  • Change terminal directory to LogViewer.Client folder
  • Install TypeScript if missing npm install -g typescript
  • npm install
  • tsc --watch This will compile the TypeScript files & continue to watch them
  • Open a new terminal in LogViewer.Client
  • npm run start Will run the Electron app for development with Chrome DevTools open/launched

Note: If you npm run start before you have compiled the TypeScript files then Electron will complain about not finding the entry point file. Additionally if you have also not run dotnet publish then the underlying WebAPI which we communicate with will not be running.

3rd Party Libraries πŸ’–πŸ’–

This package uses the following libraries:

compact-log-format-viewer's People

Contributors

carlosproiete avatar chucker avatar codesandbot avatar dependabot-preview[bot] avatar dependabot[bot] avatar ebd232 avatar warrenbuckley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

compact-log-format-viewer's Issues

Word-wrap long titles/errors etc

When titles or errors get a bit long, the're no wrapping so there's a very long horizontal scroll. Would be good with some word-wrapping.

Examples:

image

image

Mac App Store link doesn't seem to work

I'm in Australia, and when clicking the Mac App Store button for the app, I get the attached error:

Mac App Store error dialog reading "App Not Available: This app is currently not available in your country or region"

I assumed this was simply an issue with the app in Australia, so I searched for the app in other stores (the US and UK) using fnd, where it is similarly not found.

I'm happy to build the app myself as a workaround, but I'd much rather get updates through the store if possible.

Error Count does not match number of logs

With the following example log file, the number of errors reported are 14 but when clicking the error count it only performs the search.

@Level='Error'

{"@t":"2022-01-26T11:19:49.0353499Z","@mt":"Increasing the MaxRequestBodySize conflicts with the max value for IIS limit maxAllowedContentLength. HTTP requests that have a content length greater than maxAllowedContentLength will still be rejected by IIS. You can disable the limit by either removing or setting the maxAllowedContentLength value to a higher limit.","@l":"Warning","SourceContext":"Microsoft.AspNetCore.Server.IIS.Core.IISHttpServer","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN "}
{"@t":"2022-01-26T11:19:49.0738466Z","@mt":"Acquiring.","SourceContext":"Umbraco.Cms.Core.Runtime.MainDom","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"INFO "}
{"@t":"2022-01-26T11:19:49.0782761Z","@mt":"Acquired.","SourceContext":"Umbraco.Cms.Core.Runtime.MainDom","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"INFO "}
{"@t":"2022-01-26T11:20:04.0449300Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken)\r\n   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)\r\n   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN "}
{"@t":"2022-01-26T11:20:05.0559753Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN "}
{"@t":"2022-01-26T11:20:06.0701532Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN "}
{"@t":"2022-01-26T11:20:07.1017190Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN "}
{"@t":"2022-01-26T11:20:08.1175402Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN "}
{"@t":"2022-01-26T11:20:08.1339707Z","@mt":"Profiler is VoidProfiler, not profiling (must run debug mode to profile).","SourceContext":"Umbraco.Cms.Web.Common.Profiler.InitializeWebProfiling","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"INFO "}
{"@t":"2022-01-26T11:20:09.1706744Z","@mt":"Application started. Press Ctrl+C to shut down.","SourceContext":"Microsoft.Hosting.Lifetime","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"INFO "}
{"@t":"2022-01-26T11:20:09.1781818Z","@mt":"Hosting environment: {envName}","envName":"Production","SourceContext":"Microsoft.Hosting.Lifetime","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"INFO "}
{"@t":"2022-01-26T11:20:09.1786070Z","@mt":"Content root path: {contentRoot}","contentRoot":"h:\\root\\home\\warrenbuckley-001\\www\\site1","SourceContext":"Microsoft.Hosting.Lifetime","ProcessId":23284,"ProcessName":"w3wp","ThreadId":1,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"INFO "}
{"@t":"2022-01-26T11:20:24.5399935Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken)\r\n   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)\r\n   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ActionId":"714502cd-023f-47f0-86b8-75f85b22aa3e","ActionName":"Umbraco.Cms.Web.BackOffice.Install.InstallController.Redirect (Umbraco.Web.BackOffice)","RequestId":"40001235-0007-ab00-b63f-84710c7967bb","RequestPath":"/","ProcessId":23284,"ProcessName":"w3wp","ThreadId":16,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN ","HttpRequestId":"9de4e3c4-312d-4f9e-b9f0-e25bbc615a1e","HttpRequestNumber":1,"HttpSessionId":"fb44fc2b-5b4c-ac98-b3b4-7431beaf6329"}
{"@t":"2022-01-26T11:20:24.5543472Z","@mt":"Umbraco must install or upgrade.","@l":"Warning","SourceContext":"Umbraco.Cms.Web.BackOffice.Install.InstallController","ActionId":"714502cd-023f-47f0-86b8-75f85b22aa3e","ActionName":"Umbraco.Cms.Web.BackOffice.Install.InstallController.Redirect (Umbraco.Web.BackOffice)","RequestId":"40001235-0007-ab00-b63f-84710c7967bb","RequestPath":"/","ProcessId":23284,"ProcessName":"w3wp","ThreadId":16,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN ","HttpRequestId":"9de4e3c4-312d-4f9e-b9f0-e25bbc615a1e","HttpRequestNumber":1,"HttpSessionId":"fb44fc2b-5b4c-ac98-b3b4-7431beaf6329"}
{"@t":"2022-01-26T11:20:24.8590151Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ActionId":"1e6a6a72-4797-416a-bb9c-631a1a8cad51","ActionName":"Umbraco.Cms.Web.BackOffice.Install.InstallController.Index (Umbraco.Web.BackOffice)","RequestId":"400070a7-0002-a500-b63f-84710c7967bb","RequestPath":"/install","ProcessId":23284,"ProcessName":"w3wp","ThreadId":12,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN ","HttpRequestId":"7ccc4340-645b-44d5-8b31-34b995cc64e9","HttpRequestNumber":2,"HttpSessionId":"4c32bf2d-837c-a26a-8173-a9e6547e011c"}
{"@t":"2022-01-26T11:20:24.8596177Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ActionId":"1e6a6a72-4797-416a-bb9c-631a1a8cad51","ActionName":"Umbraco.Cms.Web.BackOffice.Install.InstallController.Index (Umbraco.Web.BackOffice)","RequestId":"400070a7-0002-a500-b63f-84710c7967bb","RequestPath":"/install","ProcessId":23284,"ProcessName":"w3wp","ThreadId":12,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN ","HttpRequestId":"7ccc4340-645b-44d5-8b31-34b995cc64e9","HttpRequestNumber":2,"HttpSessionId":"4c32bf2d-837c-a26a-8173-a9e6547e011c"}
{"@t":"2022-01-26T11:20:54.3995194Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken)\r\n   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)\r\n   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ActionId":"a0c9eb62-8bf9-4936-a96f-b4cbd02c07fd","ActionName":"Umbraco.Cms.Web.BackOffice.Install.InstallApiController.GetSetup (Umbraco.Web.BackOffice)","RequestId":"400031d4-0005-e500-b63f-84710c7967bb","RequestPath":"/install/api/GetSetup","ProcessId":23284,"ProcessName":"w3wp","ThreadId":15,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN ","HttpRequestId":"881c3076-173e-474f-895d-48f57b179243","HttpRequestNumber":3,"HttpSessionId":"67fb1ef9-3ac2-0aa4-0a2d-8b764e5f78db"}
{"@t":"2022-01-26T11:20:54.4123271Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ActionId":"a0c9eb62-8bf9-4936-a96f-b4cbd02c07fd","ActionName":"Umbraco.Cms.Web.BackOffice.Install.InstallApiController.GetSetup (Umbraco.Web.BackOffice)","RequestId":"400031d4-0005-e500-b63f-84710c7967bb","RequestPath":"/install/api/GetSetup","ProcessId":23284,"ProcessName":"w3wp","ThreadId":15,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN ","HttpRequestId":"881c3076-173e-474f-895d-48f57b179243","HttpRequestNumber":3,"HttpSessionId":"67fb1ef9-3ac2-0aa4-0a2d-8b764e5f78db"}
{"@t":"2022-01-26T11:25:26.8292059Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken)\r\n   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)\r\n   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ActionId":"1e6a6a72-4797-416a-bb9c-631a1a8cad51","ActionName":"Umbraco.Cms.Web.BackOffice.Install.InstallController.Index (Umbraco.Web.BackOffice)","RequestId":"40002998-0007-7d00-b63f-84710c7967bb","RequestPath":"/install","ProcessId":23284,"ProcessName":"w3wp","ThreadId":68,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN ","HttpRequestId":"e985d27e-6920-4d57-9363-c31ae943c2e5","HttpRequestNumber":4,"HttpSessionId":"4b2f977e-a329-2532-b9cb-c62f3762553a"}
{"@t":"2022-01-26T11:25:41.5639177Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken)\r\n   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)\r\n   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ActionId":"1e6a6a72-4797-416a-bb9c-631a1a8cad51","ActionName":"Umbraco.Cms.Web.BackOffice.Install.InstallController.Index (Umbraco.Web.BackOffice)","RequestId":"40002998-0007-7d00-b63f-84710c7967bb","RequestPath":"/install","ProcessId":23284,"ProcessName":"w3wp","ThreadId":68,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN ","HttpRequestId":"e985d27e-6920-4d57-9363-c31ae943c2e5","HttpRequestNumber":4,"HttpSessionId":"4b2f977e-a329-2532-b9cb-c62f3762553a"}
{"@t":"2022-01-26T11:25:43.4008425Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ActionId":"a0c9eb62-8bf9-4936-a96f-b4cbd02c07fd","ActionName":"Umbraco.Cms.Web.BackOffice.Install.InstallApiController.GetSetup (Umbraco.Web.BackOffice)","RequestId":"40001bf4-0000-8800-b63f-84710c7967bb","RequestPath":"/install/api/GetSetup","ProcessId":23284,"ProcessName":"w3wp","ThreadId":73,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN ","HttpRequestId":"dbc3809a-a6de-4693-ab91-8fa7b370a242","HttpRequestNumber":5,"HttpSessionId":"f625bddf-cb88-d033-dee2-dd8fbc29d17f"}
{"@t":"2022-01-26T11:25:43.4104324Z","@mt":"Configured database is reporting as not being available.","@l":"Warning","@x":"System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)\r\n ---> System.ComponentModel.Win32Exception (2): The system cannot find the file specified.\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   at System.Data.SqlClient.SqlConnection.Open()\r\n   at Umbraco.Extensions.DbConnectionExtensions.IsAvailable(IDbConnection connection)\r\nClientConnectionId:00000000-0000-0000-0000-000000000000\r\nError Number:2,State:0,Class:20","SourceContext":"object","ActionId":"a0c9eb62-8bf9-4936-a96f-b4cbd02c07fd","ActionName":"Umbraco.Cms.Web.BackOffice.Install.InstallApiController.GetSetup (Umbraco.Web.BackOffice)","RequestId":"40001bf4-0000-8800-b63f-84710c7967bb","RequestPath":"/install/api/GetSetup","ProcessId":23284,"ProcessName":"w3wp","ThreadId":73,"AppDomainId":1,"AppDomainAppId":"61ef3d93f7dcde935850046f2ca083715595fe9b","MachineName":"WIN5242","Log4NetLevel":"WARN ","HttpRequestId":"dbc3809a-a6de-4693-ab91-8fa7b370a242","HttpRequestNumber":5,"HttpSessionId":"f625bddf-cb88-d033-dee2-dd8fbc29d17f"}

The fix for this needs to be to ensure the same error count/filter is applied from the server.
The above example log has Warnings with exceptions, but also we could have Fatal errors as well that we would need to display from the error count.

Awesome!

Great project! Absolutely love it and find it quite useful.
Also coded pretty well.
Just wanted to give a shout out :D

Can't read any log files under Mac OS

Hi,

I've checked out the repository, build it for Mac OS and tried to open a VERY simple log file. Unfortunately I'm getting an error message when dropping the file onto the Application Window:

Screenshot 2024-01-03 at 10 01 22

The log file is very basic:

tinylog.log

I'm trying to run the App on a M3 MacBook Pro. Can anybody reproduce this under a different operating system?

Allow opening any file extension

Is your feature request related to a problem? Please describe.
Our log files are named *.clef-log, to distinguish them from our human-readable *.log files. Compact Log Format Viewer refuses to open these files unless I rename them to *.clef, *.log, or *.txt.

I saw #40 where support for *.log was added. Yet another reasonable extension would be .jsonl, since the syntax of the file is JSON Lines. Rather than chasing every file extension that people might use, I'm not sure the Viewer should be allow-listing file extensions in the first place.

Describe the solution you'd like
Since there is no standardized extension for log files written in CLEF, I think the Viewer should allow opening any file names, whether it is through the Open dialog or the file is dropped onto the application.

The Open dialog can default to the current filter of *.log;*.clef;*.txt, but there should also be an All Files option, like most Open dialogs.

When opening a file, if the file cannot be parsed as JSON Lines, then an error can be displayed.

Additional context
I don't mind writing this feature, I just want to make sure it would be welcome before spending time on it.

Use first process argument as log-file to open, if only one is supplied and does not start with a dash

Is your feature request related to a problem? Please describe.
i would like to achieve two things:

  • A: open logfile like this: CompactLogViewer.exe C:\Users\foobar\Downloads\my-log.clef
  • B: under windows associate the file extension "clef" with Compact Log Viewer, so that when i doubleclick a file with ".clef"-ending it will be shown in Compact Log Viewer

when i currently do A or B, i just get the regular start-screen with "select or drop a log file"

hint: Setting the association is something i see as the duty of the user. It's not necessary for the application to dive into this rabbit-hole.

Describe the solution you'd like

  • the application interpretes the first argument as a path to a clef file
  • this log-file will then be opened

Describe alternatives you've considered

  • do it the way it is now

Additional context

  • if i find the time, i'll provide a MR, it should be relatively easy

Loading of a log file results in an endless loop - different Loglevel casing

Describe the bug
loading of a log file results in an endless loop

To Reproduce
Steps to reproduce the behavior:

  1. create a sample file containing "@l": "ERROR" for example {"@t": "2022-07-01T12:14:15", "@l": "ERROR", "@m": "Test Message"}
  2. load that log file
  3. change the line to {"@t": "2022-07-01T12:14:15", "@l": "Error", "@m": "Test Message"}
  4. now it goes well

Expected behavior
loading of the log file

Desktop (please complete the following information):

  • OS: WIN 11
  • Version 1.3.2

Additional context
Add any other context about the problem here.
success_log.txt
failure_log.txt

Configure - Choose columns to display in table

Similar to #8 in that we will need a UI & JSON store for configuration, to allow a user to choose which columns to display when a log is not expanded.

The user can choose from a predetermined list of columns, perhaps it could be fully user defined but if a property does not exist on all logs, what would you expect the column to contain?

Handle timestamp on a sub-second accuracy

I am trying to view a clef file with multiple events happened on the same second but different fraction of a second. The events are displayed in the wrong order in the viewer.

The event times I have are
2024-03-26T12:45:16.3088696Z
2024-03-26T12:45:16.3088696Z
2024-03-26T12:45:16.6526179Z
2024-03-26T12:45:16.6682491Z
2024-03-26T12:45:16.6682491Z
2024-03-26T12:45:17.3088673Z
2024-03-26T12:45:17.3088673Z

but the viewer only shows events on a second accuracy and all the events at 2024-03-26T12:45:16 are displayed in the wrong order

Complex properties are not rendered

Describe the bug
Within the properties sub-heading of a selected log message, complex properties are not displayed. The property name is included in the left column, but the right column does not contain any value. Properties that are scalar are rendered appropriately.

To Reproduce
Steps to reproduce the behavior:

  1. Create a log file with the following text:
{
  "@t": "2019-12-10T13:33:23.0970926Z",
  "@mt": "An unknown error occurred",
  "@l": "Error",
  "@x": "Exception stack trace",
  "SourceContext": "MySourceContext",
  "Scope": [
    "FirstScope",
    1850562557,
    "198441851"
  ],
  "MachineName": "MY-MACHINE",
  "EnvironmentUserName": "WORKGROUP\\SYSTEM",
  "ExceptionDetail": {
    "HResult": -2146233087,
    "Message": "Internal Error",
    "Source": "System.ServiceModel",
    "Action": null,
    "Code": {
      "IsPredefinedFault": true,
      "IsSenderFault": true,
      "IsReceiverFault": false,
      "Namespace": "http://schemas.xmlsoap.org/soap/envelope/",
      "Name": "Client",
      "SubCode": null
    },
    "Reason": {
      "Translations": [
        {
          "XmlLang": "",
          "Text": "Internal Error"
        }
      ]
    },
    "Type": "System.ServiceModel.FaultException"
  },
  "AssemblyVersion": "2.1.0.1017"
}
{"@t":"2019-12-10T13:33:23.0970926Z","@mt":"An unknown error occurred","@l":"Error","@x":"Exception stack trace","SourceContext":"MySourceContext","Scope":["FirstScope",1850562557,"198441851"],"MachineName":"MY-MACHINE","EnvironmentUserName":"WORKGROUP\\SYSTEM","ExceptionDetail":{"HResult":-2146233087,"Message":"Internal Error","Source":"System.ServiceModel","Action":null,"Code":{"IsPredefinedFault":true,"IsSenderFault":true,"IsReceiverFault":false,"Namespace":"http://schemas.xmlsoap.org/soap/envelope/","Name":"Client","SubCode":null},"Reason":{"Translations":[{"XmlLang":"","Text":"Internal Error"}]},"Type":"System.ServiceModel.FaultException"},"AssemblyVersion":"2.1.0.1017"}
  1. Open this file with Compact Log Viewer
  2. Select the (only) log message to expand it
  3. See that the properties Scope and ExceptionDetail are empty.

Expected behavior
The two complex properties should have values displayed in the right column. Since they are complex properties, a JSON rendering would be applicable.

Screenshots
The complex properties are highlighted in yellow. Sensitive data has been scrubbed.
compact-log-viewer-bug

Desktop (please complete the following information):

  • OS: Windows 10
  • Version: 1803

Locked files won't be read or reloaded

Describe the bug
Since this app can be used with other implementations of serilog (that locks the file) it would be good to support reading from a locked file as well.

To Reproduce
Steps to reproduce the behavior:

  1. Open the app and try to read a file locked by Serilog
  2. File can't be read.

Expected behavior
The content of the file to be loaded.

PR is comming

Update message template hit count to reflect filtered state

Is your feature request related to a problem? Please describe.
No it's an idea for enhancement.

Describe the solution you'd like
Hit counts reflect current filter e.g. so it's quick to find the top error message when filtering by log level.

Describe alternatives you've considered
Not considdered any alternatives.

Additional context
image

Allow .log Files to be Imported

Is your feature request related to a problem? Please describe.
Currently the app limits imported files to .txt, .json and .clef but our apps still use the .log extension.

Describe the solution you'd like
Just need to add more potential extensions to the mix.

Describe alternatives you've considered
Might even consider simply checking to see if the file itself is valid JSON, and attempt to load it vs. explicitly enforcing what extensions are allowed. I also completely understand/respect if this introduces other complexities in your JSON parsing.

Additional context
N/A

Allow live viewing of file as updated

Is your feature request related to a problem? Please describe.
I would like to be able to view logs as they update and not just open a static version of the file into memory.

Describe the solution you'd like
A button for a live mode once you've opened the file.

Describe alternatives you've considered
Using tail -f

Some characters not supported in file path

Describe the bug
A clear and concise description of what the bug is.

I have a folder called "FelsΓΆkning", when I try to open a file in that folder I get:

image

After renaming the folder to "Felsokning" things works as expected.

Missing install step: typescript

I followed the install instructions to run it from source, and found that I had to install TypeScript, which was not in the instructions.

I suggest "npm install -g typescript" is added to the instructions.

Limited support for destructed properties

I know that this PR added "Basic support" for destructed properties #15, how every since this implementation only supports nesting to the first level it's kind of limiting.

I've just made a PR to Umbraco (almost the same code as this) with another approach: umbraco/Umbraco-CMS#13357

I'm not saying that this is perfect but it makes is possible to see the whole object structure.

Let me know if you think that this might be something for this app, I'd be happy to create a PR.

Cheers!

Configure Message Template for TXT File Export

An improvement could be to have a preferences window/UI where the format of the file export template could be set by the user.

The plumbing in the .NET Core Server/WebAPI already supports taking in a message template, but currently falls back to a standard convention.

So this task involves:

  • New menu option for Preferences
  • Displays a new small window/browser with a view to set/save preferences
  • Use some existing electron JSON file store or similar as the configuration store
    https://github.com/sindresorhus/electron-store
  • Read value from config & bind to an input field
  • Button click/save persists back to JSON file & closes window
  • File -> Export reads value in the JSON file & passes it to WebAPI for export format

The Plus Symbol (+) in the Search is not Url escaped

Describe the bug
The Plus Symbol (+) in the Search is not Url escaped

To Reproduce
Steps to reproduce the behavior:

  1. Generate logs with inner class as SourceContext (Namespace.Class.Subclass) this results in the log output "SourceContext":"Namespace.Class+Subclass"
  2. Import those logs into the log viewer
  3. Select a log entry from the subclass and Click on the SourceContext Button. The Search bar should now be filled with "SourceContext='Namespace.Class+Subclass'"
  4. The logs from the Selected source are no longer shown in the list

Expected behavior
The logs from the selected source should be shown

Screenshots
grafik
grafik

Desktop (please complete the following information):

  • OS: Windows 10
  • Compact Log Viewer Version 1.4.0.0

Additional context
When replacing the Plus Symbol from the Search with "%2B" the logs are shown
grafik

Make it easier to clear filters.

Is your feature request related to a problem? Please describe.
I'm always frustrated when I set a filter and then have to double click the search bar and hit backspace just to reset.

Describe the solution you'd like
Would love a button that clears filters

Describe alternatives you've considered
I guess a hotkey for clearing the input field would work as well, but the original suggestion should be easy enough 😁

Additional context
Could be a cross in the search bar:
Capture

Broken layout if JSON contains properties with long values

Describe the bug
If JSON contains properties with long values, like exception stack trace, the layout ends up broken. I created a reduced test case from the actual ASP.NET Core logs created by Serilog, by anonymizing a small portion of it and removing unnecessary props. It is enough to reproduce the issue I described, please see below screenshot.

{"@t":"2022-02-03T14:33:20.9445632Z","@mt":"Application started. Press Ctrl+C to shut down.","SourceContext":"Microsoft.Hosting.Lifetime"}
{"@t":"2022-02-03T14:33:20.9757541Z","@mt":"Hosting environment: {envName}","envName":"Development","SourceContext":"Microsoft.Hosting.Lifetime"}
{"@t":"2022-02-03T14:33:20.9767532Z","@mt":"Content root path: {contentRoot}","contentRoot":"D:\\Git\\MyProject","SourceContext":"Microsoft.Hosting.Lifetime"}
{"@t":"2022-02-03T14:33:21.8817996Z","@mt":"Unhandled exception occured when processing request","@l":"Error","Exception":{"Message":"testing seq","StackTrace":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla egestas malesuada enim, ut euismod ex ornare ac. Vivamus lacinia nec sapien sit amet porttitor. Duis bibendum tellus a auctor iaculis. Vivamus risus ipsum, ullamcorper ut efficitur eget, venenatis in urna. Cras mattis nulla in orci congue fermentum. Nam tempus nulla eu eros dictum sodales. Sed vitae augue vitae Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla egestas malesuada enim, ut euismod ex ornare ac. Vivamus lacinia nec sapien sit amet porttitor. Duis bibendum tellus a auctor iaculis. Vivamus risus ipsum, ullamcorper ut efficitur eget, venenatis in urna. Cras mattis nulla in orci congue fermentum. Nam tempus nulla eu eros dictum sodales. Sed vitae augue vitae ","$type":"ExceptionLogData"},"Application":"MyApplication"}
{"@t":"2022-02-03T14:53:56.1796261Z","@mt":"Application is shutting down...","SourceContext":"Microsoft.Hosting.Lifetime"}

To Reproduce
Steps to reproduce the behavior:

  1. Drag and drop JSON into Compact Log Viewer.
  2. Expand the entry containing the property in question.
  3. Observe broken layout.

Expected behavior
Column labels should be displayed in a single line, maybe more if they are too long, but definitely not broken down every 1-2 characters. An optional feature could be collapsing long properties by default, but have a clickable ellipsis which allows to expand them. This could be toggled from settings.

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows
  • Version: 10

Additional context
N/A

Timestamps don't get displayed properly

Describe the bug
Timestamps get wrapped, making them hard to read and causing each line of the logfile to get bloated to the height of 2 lines (3 with the padding).

To Reproduce
Steps to reproduce the behavior:

  1. Load any .clef file
  2. See error

Expected behavior
Always show timestamps unwrapped. Also in general only have one liner log entries that are expandable. Seq does this quite nicely and it is very easy to read and identify interesting entries to expand.

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows
  • Version 1.3.1.0
    Additional context
    Installed with Windows Store

To be able to aggregate on @Exception

When for instance one uses Serilog in an API to log errors and that API has a bug in it and it is accessed numerous times, the same error will get logged multiple times.

This is fine. Still it would be handy if one could aggregate / select distinct on @exception.
Inspiration https://github.com/waxtell/Serilog.Aggregating.Filter (but than after logging to file happens and not before)

This will make analyzing log files much faster than messing around with like / not like filters.

Example log file:
20201005.zip

License Not Defined

While this project is published via GitHub, the project itself doesn't have a license defined. Technically speaking this puts the project in a bit of a weird position if someone were to decide to move forward with any continued development/improvements since it leaves the code in a bit of a "proprietary" state despite the sources being available.

That said, I'm interested in extending/forking the functionality but unsure of whether that's even possible...

No CLEF log files can be opened

Describe the bug
No log files created with Serilog.File and the JSON formatter can be openend.

To Reproduce
Steps to reproduce the behavior:
Open the attached log file:
application20210624 - Copy.zip

Expected behavior
Log file should be opened; or in the case it is wrong, the error should be handled

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 10, Desktop

Additional context
This is my Serilog configuration:

 "Serilog": {
        "MinimumLevel": {
            "Default": "Information",
            "Override": {
                "Hangfire": "Information",
                "Microsoft": "Warning",
                "Microsoft.Hosting.Lifetime": "Information"
            }
        },
        "WriteTo": [
            {
                "Name": "Async",
                "Args": {
                    "configure": [
                        {
                            "Name": "Console"
                        },
                        {
                            "Name": "File",
                            "Args": {
                                "path": "Logs/application.log",
                                "rollingInterval": "Day",
                                "rollOnFileSizeLimit": true,
                                "shared": true
                            }
                        },
                        {
                            "Name": "File",
                            "Args": {
                                "path": "Logs/application.clef",
                                "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog",
                                "rollingInterval": "Day",
                                "rollOnFileSizeLimit": true
                            }
                        }
                    ] 
                } 
            }
        ],
        "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
        "Destructure": [
            {
                "Name": "ToMaximumDepth",
                "Args": { "maximumDestructuringDepth": 4 }
            },
            {
                "Name": "ToMaximumStringLength",
                "Args": { "maximumStringLength": 100 }
            },
            {
                "Name": "ToMaximumCollectionCount",
                "Args": { "maximumCollectionCount": 10 }
            }
        ],
        "Properties": {
            "Application": "[redacted]"
        }
    },

I log with:

image

Properties that are 0 or false are not shown

Describe the bug
Integers with the value 0 and booleans with the value false are shown as empty.

To Reproduce
Load this log file:
{"@t":"2022-08-22T20:42:37.1929215+02:00","@m":"Test","ZeroInt":0,"FalseBool":false}

Expected behavior
ZeroInt should be shown as "0", and FalseBool should be shown as "false"

Screenshots
clef_zero_false

Desktop (please complete the following information):

  • OS: Windows
  • Version 1.3.2.0

Logviewer cannot load the log while the site is running

Describe the bug
When you try to load in the current log while the site is running log viewer cannot open the file and gives a weird error screen - it is possibly due to the file being locked?

To Reproduce
Steps to reproduce the behavior:

  1. Run a site (IIS Express in VS Code in this instances)
  2. Try to open the currently written to log file in the logviewer
  3. It is unable to load it and gives this error:
    Capture

Expected behavior
Expected it to show the log

Screenshots
See above

Desktop (please complete the following information):
Windows 10

Rename Search to Filter and add Search?

Is your feature request related to a problem? Please describe.
At the moment if I get an error and I want to see what was going on around that time, I need to "search", to find the error I'm looking for, take note of the timestamp, the clear the filter and then navigate to the timestamp by paging though until I find it

Describe the solution you'd like
The button called "search" is technically filtering the errors, so why not call it filter instead? Then add another button search, which does not filter but simply moves you to the next record that applies to the search term? This would make viewing surrounding log messages much easier.

Describe alternatives you've considered
An alternative could be a way to clear the filter but remain on the record you had selected at the time of clearing

Provide a built bundle via GitHub Release

Currently, releases only provide source bundles. The only way to get the app without using a Store (not possible on company/offline machines) is to build it from source. While that's not a problem for a dev, it makes it harder to recommend for others.

Please consider providing the AppX builds via an alternative source, e.g. GitHub Releases.

P.S. Is this project available under any specific licence?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.