On Tue, 22 Jun 2010, Rainer Gerhards wrote:

> On Tue, 2010-06-22 at 05:36 -0700, [email protected] wrote:
>> On Tue, 22 Jun 2010, Rainer Gerhards wrote:
>>
>>> On Tue, 2010-06-22 at 14:11 +0200, Rainer Gerhards wrote:
>>>> I have a bit of a problem with the dynamic nature of rsyslog. As you know,
>>>> almost everything is loaded, so from the rsyslog core's PoV there is little
>>>> known in advance. However, the core has some "base objects", like inputs 
>>>> and
>>>> actions. There is common code for these and there are common properties.
>>>> Actually, rsyslog employs objects in an OO-type of manner, where e.g. input
>>>> is the super class of each of input modules, which "inherit" from it.
>>>>
>>>> The <input type="imtcp"> thing was designed with that class structure on my
>>>> mind. So I had a clear indication that this is an input and so I know where
>>>> to look up.
>>>>
>>>> If I now get <imtcp ...> I don't know immediately what I am dealing with.
>>>> Granted, I probably just need to adopt the way I look at it. Probably I 
>>>> need
>>>> to craft a facility where modules can register XML entity names and tell 
>>>> the
>>>> core what type of entity it is. Maybe I need some time to adapting to that.
>>>>
>>>> Anyhow, and as you seem to be online right now, don't you think there is a
>>>> problem with that method. Especially when thinking about rsyslog's dynamic
>>>> nature?
>>>
>>> I think I just identified one myself. Let's assume that plugins can
>>> register xml entities. But that means that the xml parser can only be
>>> called after all plugins are loaded (because the plugins need to be
>>> loaded first). So I think the actual plugin load process could NOT be
>>> specified inside the main rsyslog.conf. Am I right here?
>>
>> it depsnds on the parser that you use.
>>
>> if you use a parser that parses everything and gives you back a resulting
>> data structure in one lump then you are right
>>
>> but there are also incremental parsers that have callbacks as they hit
>> each tag, those callbacks can do anything, including loading modules,
>> defining new allowed tags, etc.
>>
>> as XML files get bigger, people have moved to the incremental versions so
>> that they don't have to handle the entire file at once before doing
>> anything.
>>
>
> This sounds like I should look into SAX, right? (at first glimpse, it
> seems to be a very good fit...).

I believe that that is the common set of tools for incramental parsing.

Davd Lang
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to