[wildfly-dev] Reading Logs from Web Console
James R. Perkins
jperkins at redhat.com
Wed Aug 14 15:12:37 EDT 2013
On 08/14/2013 12:01 PM, James R. Perkins wrote:
>
> On 08/14/2013 11:45 AM, Brian Stansberry wrote:
>> On 8/14/13 12:55 PM, James R. Perkins wrote:
>>> That's my thinking too. The only complaint I've had about that solution
>>> is that it can't be filtered since it's just raw text. I had a working
>>> example operation that just took a file name and the number of bytes to
>>> read. To me this is the best solution, but it wouldn't have access to
>>> anything in a syslog or the console. Though that's okay IMO since they
>>> likely have other viewers for those.
>>>
>>> I'll resurrect that example. It shouldn't take all that long. One thing
>>> to note is it will only allow files to be read that are in the
>>> jboss.server.log.dir (and possibly only files that end in *.log?).
>>>
>> That's only true if the viewer operation is not associated with a
>> management resource that maps to the log file (i.e. the appender
>> resource).
>>
>> I think it's a mistake to create any kind of viewer that can serve an
>> arbitrary file.
>>
>> For cases of serving previous versions of the file (i.e. ones before the
>> current with any kind of rolling appender) the API can expose a param
>> that allows the desired file to be chosen but only from a set of files
>> that the management resource knows it created.
> The only reason I thought of limiting it to the jboss.server.log.dir
> was there is no real way to know what handlers are file handlers. For
> example a custom-handler could be a file handler, but there is no real
> way to know that. Those files should be allowed to viewed, IMO, as well.
>
> On the other hand I do agree there is an issue with being able to read
> arbitrary files. A good example would be if the logs are placed in
> /var/log/ we don't want to allow access to any of the log files not
> created by WildFly.
>
> I guess what we could do, at least to start, is just add a read-log
> operation only to file handlers. Then we could just get the file name
> from the resource. Further down maybe we could add an attribute to the
> custom-handler to enable the operation.
Just thought of one possible issue here is how would the web console
know which handlers have the operation.
>>
>>> So in general I agree here, I think this is the best, the least
>>> invasive
>>> approach and the lowest performance hit.
>>>
>>> On 08/14/2013 10:36 AM, Jason Greene wrote:
>>>> IMO the best solution is a management operation that simply
>>>> displays portions of the log file. The dependency on the log file
>>>> is IMO not a problem because we support multiple appenders.
>>>>
>>>> On Aug 14, 2013, at 12:03 PM, James R. Perkins
>>>> <jperkins at redhat.com> 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
>>>>>
>>>>> _______________________________________________
>>>>> wildfly-dev mailing list
>>>>> wildfly-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>> --
>>>> Jason T. Greene
>>>> WildFly Lead / JBoss EAP Platform Architect
>>>> JBoss, a division of Red Hat
>>>>
>>
>
--
James R. Perkins
Red Hat JBoss Middleware
More information about the wildfly-dev
mailing list