The storage can be per LogObject (see Figure A.4). Each LogObject stores its own its own copy of the LogRecord, even if the LogRecords are the result of an event stream. Each LogObject would have its own limits for storage. This storage would result in some LogRecords being stored multiple time, in separate LogObjects. Also the list of LogRecords in the ServerLog might not include all of the LogRecords that would be available from Area1 LogObject or the Area2 LogObject.

image014.png

Figure A.4 - Vendor Specific LogObject individual Storage

The store could also just be a central store, which stores all LogRecords from all LogObjects (see Figure A.5. The GetRecords call on each object could be redirected to the central store (along with the LogObject Identifier) and then the appropriate LogRecords (corresponding to LogObject on which the Method was invoked) would be pulled from the central store.

It would be important for this type of architecture that the MaxDuration / MaxRecords / MinimumSeverity be only set on the parent LogObject since it would be difficult to manage all of the individual LogObjects.

image015.png

Figure A.5 – Vendor Specific LogObject central storage