Ask a Question
Back to All

Where does SEQ store its data?

I want to know where Seq stores the log data. Is it flat files? A little database? where?

Add property via API

Is it possible to add a property to an existing event using the API? I'm writing a seq app that creates a ticket in our helpdesk system, and it would be handy to add the ticket number to the event

Non Profit Pricing

Do you offer Non-profit pricing at all? I work for Bethany Christian Services, we are a non-profit social services agency that's mission is to help children who are in need. We are located in 30 different states across the US. We have an internal development team that focuses in .Net for our website and internal web applications. We are looking to use Serilog and Seq to significantly improve our support for our internal staff. I am wondering if you offer any non-profit pricing. We would like to use the Azure AD piece, but I believe that requires an Enterprise license. I have approval for the Professional license, but I am not sure I will be able to get the $2000 price tag approved. Thanks, Mike


Hello, We want to evaluate Seq and want to install it on a development server so our dev environment can log to Seq. This is to accumulate some data and see what we can do with it. When I install it on a server, I can access it from within the server, but I cannot access it remotely when I surf to http://<server name or ip>:5341/. Do I need to set something so I can access it from outside? Do I need a licence? Kind regards, Ken Bonny

selecting "columns" with special characters in the name

I've pulled a series of IIS logs into Seq to do some analysis on usage, and I'm having difficulty using a "column" in selects and group by: cs(User_Agent) Is there a way to specify this column in the query? select cs(User_Agent) from stream where cs_uri_stem = '/ws/calc.asmx/recalc' or select count(*) from stream where cs_uri_stem = '/ws/calc.asmx/recalc' group by cs(User_Agent)

EventView Extensions - User Defined Columns

Hi, is there a possibility to extend the event view of seq and add/calculat additional information. The reason for this question is, that I want to have an additional column beside the date and event text with the delta time to the previouse event. So, I want to see instantly, how much time has elapsed between the current shown events. Time Delta Event 15 May 2017 12:49:17.140 - Connection opened 15 May 2017 12:50:17.140 00:01:00.000 Transaction started 15 May 2017 12:51:18:140 00:01:01.000 Error in Transaction Kind regards, Martin

Serilog is not writing log to Seq until Log.CloseAndFlush() is invoked

Serilog and Seq works fine when I log from WinForm/web application. I am facing problem only when I am using console application. Without writing Log.CloseAndFlush() it is not working. Following is my LoggerConfiguration Log.Logger = new LoggerConfiguration() .WriteTo.Seq("http://localhost:5341") .CreateLogger(); Is there any way to log without invoking Log.CloseAndFlush() so that it works with seq, serilog in console application. Do I need to call Log.CloseAndFlush() everytime after logging? If I have a console application who listen a queue and do some operation, on that case where I will invoke Log.CloseAndFlush()? Expecting your help.

Seq Single User Licensing

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.

Logs Export

Do Seq have ability to export all logs (with the JSON body) for the given period of time ?

Loosing messages

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?

Add Params in Core 2.0 without injecting to message

Nick, Is it possible to add a param/property to SEQ in 2.0 Core without putting it into the message string? Thank you, Ben

hello, what is the price of Enterprise version of SEQ

hello, what is the price of Enterprise version of SEQ. if we buy one license, can we install on three machines.

5 Developer License

Are you guys still offering the 5 developer license?

Reclaiming Disk Space with Seq

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!

Reading LogContext

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?

Getting dashboard graphs externally

Hi! Is it possible to present Dashboard graphs in an external application, accessing them as rendered images though an API request to Seq?

Paging using API

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 ?

Counting Booleans (or expressions)

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.

Trouble with "Time" in Aggregate Queries

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!

Feature request: browser desktop notifications

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.