I call this a 'feature suggestion' because I don't know if this is really my requirement or anyone else's, but I have a nagging feeling that the need would come up.
Your app seems built around 6 specific fields for a log entry, and any other items, even ones common to Log4j, can only get appended into the catch-all message text, or else ignored.
It is useful that the app has a semantic understanding of certain key fields -- emitters can be filtered in a hierarchy, levels can be filtered in a continuum, timestamps can be compared and calculated with.
But it would also be useful for a Parser to be able to extract part of the log entry to a user-defined field name, and then allow these fields to participate the same kinds of operations that the Message field can. Such as, making an alert/search term that says eg.: [ConnectionPool] = 'ReadOnly', or [TransactionLevel] > 1, or [DbProc] contains 'User' ... or whatever.
Mind you, the above examples imply fields that may be present or absent in any given log entry; thus, they would probably have to be specified as expressions that include marker text, which is not considered part of the found value, and the value itself.
That would be a bigger job than the simpler task of skinning log columns that are always present [or their placeholders/demarcations are always present] in a designated order -- which would be useful enough for many cases.
The first reason this tweaked me, is I know that Chainsaw, which as far as I can tell is much less useful than your application, provides a field/column for NestedDebugContext. Now, I've never used that field, but if I was using it, I'd hate to have to choose between using the field [in a nice way, where it is its own column] and using your app with the nice features that it has.
Just wishful thinking on a Friday, but I hope the idea is not a complete waste of bandwidth to mention.
Cheers,
Chris
Feature Suggestion: Parse into arbitrary fields
This is a good idea: each log entry could have a 'hash table' filled by the parser, for example:
[ConnectionPool] = 'ReadOnly',
[TransactionLevel] = 1
[DbProc] = <null> (if no information found in file for this field)
Then LogMX would also display these extra fields only if they are set for at least one entry.
In the meantime, you can use these extra field to participate the same kinds of operations that the Message field can: using the log4j pattern syntax and its 'catch-all' function in message field, you can search entries or define alerts using these fields since 'message' field starts with [<field_name>=<field_value>]. But I agree, matches will be less impressive since 'Message' field contains other data.
Xavier.
[ConnectionPool] = 'ReadOnly',
[TransactionLevel] = 1
[DbProc] = <null> (if no information found in file for this field)
Then LogMX would also display these extra fields only if they are set for at least one entry.
In the meantime, you can use these extra field to participate the same kinds of operations that the Message field can: using the log4j pattern syntax and its 'catch-all' function in message field, you can search entries or define alerts using these fields since 'message' field starts with [<field_name>=<field_value>]. But I agree, matches will be less impressive since 'Message' field contains other data.
Xavier.
Re: Feature Suggestion: Parse into arbitrary fields
Hello,
LogMX v2.0.0 is now available, and includes this new feature. Such log entry fields have been called "user-defined fields", are displayed in a dedicated column, and can be used in Search & Filter features.
Feel free to let me know if you have questions or problems using this new feature.
Xavier.
LogMX v2.0.0 is now available, and includes this new feature. Such log entry fields have been called "user-defined fields", are displayed in a dedicated column, and can be used in Search & Filter features.
Feel free to let me know if you have questions or problems using this new feature.
Xavier.
Re: Feature Suggestion: Parse into arbitrary fields
I would like the ability to turn off the new columns by right clicking the table header like I can with the default ones.
For example, I added "Line" and "File" to the Message, but at the moment, I don't want to see them in the table.
For example, I added "Line" and "File" to the Message, but at the moment, I don't want to see them in the table.
Re: Feature Suggestion: Parse into arbitrary fields
Hello,
OK for this feature request.
In the meantime, if you use a Log4j Pattern Parser, you can turn off these new columns "Line" and "File" in the Parser creation dialog, using the Log4j tags settings editor (button "Tag settings >>" at the right of the Parser creation dialog). Just check "Ignore" for tags you don't want to see in the main table.
Xavier.
OK for this feature request.
In the meantime, if you use a Log4j Pattern Parser, you can turn off these new columns "Line" and "File" in the Parser creation dialog, using the Log4j tags settings editor (button "Tag settings >>" at the right of the Parser creation dialog). Just check "Ignore" for tags you don't want to see in the main table.
Xavier.
Re: Feature Suggestion: Parse into arbitrary fields
I do want to see them in the message though.
Re: Feature Suggestion: Parse into arbitrary fields
OK
I will let you know when this feature is available
I will let you know when this feature is available
Re: Feature Suggestion: Parse into arbitrary fields
Hello,
LogMX v2.0.2 is now available: you can now hide user-defined columns.
Xavier
LogMX v2.0.2 is now available: you can now hide user-defined columns.
Xavier