1) Could it have a "read-log-file()" without name=
specified, which
would read the "current" log file?
Given the way logger categories and
appenders/handlers interact, within
a logging framework, I don't think there's any notion of "current log
file". It's a very valid scenario where a single logging category can be
backed by different appenders (some of themfile appenders) with
different attributes and each such appender writing out to a different
file.So having a name of the log file you want to view, becomes necessary.
-Jaikiran
2) Regarding security - what, besides logs, do we expect to be in the
log dir? Could the admin block it by setting write-only rights?
Ondra
On 25.9.2013 02:40, James R. Perkins wrote:
> I'm replying to this old thread to reopen this conversation about
> reading log files. I've complete some work [1] on reading log files
> via an operation. This is not exactly like the JIRA suggests where it
> would only read the last 10 error messages. All this change allows is
> the raw contents of the file to be read. The idea is this could be
> used to read the entire contents of the log file as a whole, or in
> chunks.
>
> What I've done is added two new operations list-log-files and
> read-log-file.
>
> The list-log-files simply lists all files in the
> jboss.server.log.dir. This may or may not be a good idea really. I
> can see some potential security risks here mainly just seeing files
> that may contain sensitive data. One way I've thought of to get
> around that is read the logging subsystem model and only show files
> from known types like the file-handlers. The main issue with that is
> there is no good way to get this to work for custom-handlers.
>
> The read-log-file simple does what it says and reads the contents of
> a log file line by line. Reading line by line should work for the
> most part unless the an non-standard line delimiter is used. There
> are 5 options for this option;
>
> * name (required): the name of the log file to read
> * encoding: the encoding for the log file
> * lines: the number of lines to read, defaults to 10
> * skip: the number of lines to skip before adding the results
> * tail: true to read from the bottom up, default is true
>
> The result of this is just a list of lines with the \n or \r\n
> stripped. Just to clarify too a line means a line in the file, not a
> log record e.g. stack traces are generally composed of multiple lines.
>
> So this begs the question, will this work for what we want? What
> concerns does anyone else have?
>
> I have not yet submitted a PR yet as I wanted to get some feedback
> before we bake it in.
>
>
> [1]:
https://github.com/jamezp/wildfly/compare/WFLY-280-read
>
>
> On 08/14/2013 10:03 AM, James R. Perkins wrote:
>> I had posted this to another list, but this is a more appropriate
>> place for it. I think there needs to be a general discussion around
>> this as it's been mentioned, at least to me, a few times here and
>> there and I know Heiko raised the issue some time a go now.
>>
>> The original JIRA, WFLY-280[1], is to display the last 10 error
>> messages only. To be honest I wouldn't find that very useful. To me
>> if I'm looking for logs I want to see all logs, but that's not
>> always so easy. Like the syslog-handler which doesn't log to a file
>> so there is no way to read those messages back.
>>
>> The current plan for the last 10 error messages is we store messages
>> in a queue that can be accessed via an operation. This works fine
>> until the error message you're interested in is 11 or you want to
>> see warning messages.
>>
>> Another option I had come up with is reading back the contents of
>> the file, for example the server.log. This could be problematic too
>> in that there is no way to filter information like only see error
>> messages or only see warning messages. To solve this I have
>> considered creating a JSON formatter so the results could be
>> queried, but I don't think it should be a default which would mean
>> it's not reliable for the console to assume it's getting back JSON.
>>
>> I've also thought about, haven't tested this and it may not work at
>> all, creating a handler that uses websockets to send messages. I'm
>> not sure how well this would work and it's possible it may not even
>> work for bootstrap logging.
>>
>> With regards to audit logging, we're probably going to have to do
>> something totally different from what we'll do in the logging
>> subsystem since it doesn't use standard logging.
>>
>> I guess the bottom line is what does the console want to see? Do you
>> want to see all raw text log messages? Do you want all messages but
>> in a format like JSON that you can query/filter? Do you really want
>> only the last 10 error messages only? All or none of these might be
>> possible, but I really need to understand the needs before I can
>> explore more in depth what the best option would be.
>>
>> [1]:
https://issues.jboss.org/browse/WFLY-280
>> --
>> James R. Perkins
>> Red Hat JBoss Middleware
>
> --
> James R. Perkins
> Red Hat JBoss Middleware
>
>
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
_______________________________________________
wildfly-dev mailing list
wildfly-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev