Welcome to the Seq documentation hub. You'll find comprehensive guides and documentation to help you start working with Seq as quickly as possible, as well as support if you get stuck. Let's jump right in!
Can the free single user license product be installed on a server under the license agreement? Other posts mentioned that it is ok to use commercially. But, I wanted to ensure installing it on a server wasn't breaking any part of the EULA.
Posted by Justin Tapp about a year ago
Hi there, I am testing Seq with Serilog. To get an idea about the performance of Seq I created the below test program. Starting at around 100.000 iteration, not all messages are getting loged I expected to have 300.000 log entries but I get only 254.165. "select count(*) from stream group by time(1h)" with a start date that matches the start of the test program. The "R:\SeriLog_SelfLog.txt" is empty and I don't see any exceptions. ``` Log.Logger = new LoggerConfiguration() .WriteTo.Seq("http://localhost:5341") .CreateLogger(); var file = File.CreateText(@"R:\SeriLog_SelfLog.txt"); Serilog.Debugging.SelfLog.Enable(TextWriter.Synchronized(file)); try { for (int i = 0; i < 100000; i++) { Log.Information("Start Action: Hello, {Name}!", Environment.UserName); Log.Warning("Be carefull {Name}", Environment.UserName); Log.Information("End Action: Hello, {Name}!", Environment.UserName); } } catch (Exception e) { Console.WriteLine(e); throw; } finally { // Important to call at exit so that batched events are flushed. Log.CloseAndFlush(); } Console.WriteLine("Done"); Console.ReadKey(true); } ``` What is the reason for this issue?
Posted by Sörnt Poppe about a year ago
Hi all, We went Seq-happy (it's really a good thing!) and ended up filling up the disk on our server. What's the best (most efficient / fastest) way to remove log events & reclaim disk space? If I search for all logs before a time stamp and manually delete them, will Seq truly go back through all those events on disk and remove them, or does it stop after a point? Looking for the best practice way to reclaim this space, especially in case we find ourselves in this situation. (NOTE: I have a retention plan set up on this server, it was just set too high for our volume & disk space. We're working on that.) Thanks!
Posted by Sean Killeen about a year ago
This is probably more related to the core of Serilog than Seq, but I wan't sure where else to ask this since we bought Seq and it is affecting our tracing methodology. I am coming from NLog and we were using MappedDiagnosticsContext to store a Request and Session identifier throughout the life cycle of an application request. This would include several API calls further into the system that we wanted to be able to attach the same RequestId too for tracing a call all the way through multiple applications. I can easily store these values in Serilog with LogContext.PushProperty, but I can't find a way to read them back out within that context for passing to a header value on an API call. Am I missing something or is this something not available?
Posted by Dan Johnson about a year ago
Hi, I want to display Seq events in a customer application in a gridview control. I manage paging in my gridview: I display buttons to move to the next previous/page and user can click on a page number to display the corresponding page (for instance I display page numbers 1....10). To achieve this goal I use the following command result_query = await connection.Data.QueryAsync(Myquery, startDate); Myquery is my query to select data I want to get and startDate is one month in the past for instance MyQuery is like = "select ..... from stream where ..... limit 10000) I use a limit of 10000 to get a large amount of data (200 pages with page size = 50) ... but not too much data as I cannot wait several minutes to retrieve the data. And then to manage the paging inside my application when user clicks on one of buttons of the paging (next/forward, ...) I loop on result_query to get the 50 elements I need and display them in the gridview. It works but it is very slow as each time I have to execute the query to get a large amount of data and then extract the 50 elements corresponding to the page I have to display in the gridview. Is there a better way to manage paging ?
Posted by Etienne Bechatre about a year ago
First off, Seq is really awesome! I have been able to accomplish a lot very intuitively and without much hassle at all. The one issue I am running up against is being able to count columns or expressions in an aggregate manner. So count(*) works like a champ. But I am wanting to do count(Yield > 0) or count(Successful) in conjunction with the total count. Even better would be to do a division between these two to see the success rate is in a percentage. I've looked around and the best I can do is a count with a single column, but since they are all non-null (number), I get the same result as a count(*). I'm now wondering if there is some magic that I may be overlooking. :) Thanks in advance for any assistance you can provide.
Posted by Michael DeMond about a year ago
I have a column that is named "Time", but whenever I try to use it in aggregate query, it seems that Seq thinks I am referencing the built-in method. To start with, when I use it in a query, the field is colored differently than from another field name that is within the stream. For example, using "Value" from the stream is colored black, whereas "Time" is colored as the same color as when I group by "Time(1h)". Additionally, the value returned is always null. Is there a consideration here with using Time as a field name, and/or using TimeSpans as the value type? I am basically running the following query: Select mean(Time) From stream group by time(1d) Thank you in advance for any assistance!
Posted by Michael DeMond about a year ago
It'd be cool to have desktop notifications (via web workers) when you get an event matching a signal. Then you could sit back with Seq in a tab, and click to jump straight to it when an event you were interested in showed up. It would be most useful in development, for example, use an Exceptions signal, and simulate debugging all your locally running servers at once with stack traces and context.
Posted by Cormac Relf about a year ago
Hello, I am evaluating Seq in our ASP.NET Core project. I used configuration which you present on your website.Everything works when request started. I would like to log information about errors when application is in startup mode. For example: public void Configure( IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IAntiforgery antiforgery) { // nlog config loggerFactory.AddConsole(LogLevel.Warning); loggerFactory.AddDebug(); loggerFactory.AddSeq(Configuration.GetSection("Seq")); //... } Let's say that after adding Seq some exception occur then I would like to have that information in seq logs. Right now it doesn't work. Kind Regards
Posted by Marek Bigaj about a year ago
Hi, Could you describe us a difference of benefits between: 1. compact: true Seq 3.3 accepts Serilog's more efficient compact JSON format. To use this, configure the sink with compact: true: .WriteTo.Seq("http://localhost:5341", compact: true) https://github.com/serilog/serilog-sinks-seq 2. seq.exe compact https://docs.getseq.net/docs/the-seqexe-command-line Thanks for any suggestions!
Posted by Igor about a year ago