Hi Nan, Thank you for the announcement, and here is a little feedback for the introduction. Hope it will be helpful to you. On Mon, Mar 08, 2021 at 01:45:00PM -0800, Nan Zhou wrote: > We found there are some improvements as listed below, > - Logs are not exposed to Redfish until they reach BUF_MAXSIZE or BUF_MAXTIME > (defined in https://github.com/openbmc/phosphor-hostlogger), but we want > to achieve a stream-like console. We could set BUF_MAXSIZE to 1 or BUF_MAXTIME > to a very short interval, but it will amplify the overhead of compression and > decompression. Just remind that hostlogger message can manual flush by trigger signal SIGUSR1. > - Persistence isnˇ¦t optional. phosphor-hostlogger doesnˇ¦t expose any IPC interface. > bmcweb can only talk to phosphor-hostlogger via zip files, which makes persistence of logs a necessary condition. > > - Method 1: *D-Bus Signal*; phosphor-hostlogger implements an interface > which contains a signal. The payload of the signal should contain > timestamps and log messages. BmcWeb registers as a listener and once it > receives a signal, it populates a new LogEntry. BmcWeb should implement its > own configurable ring buffer to store log entries received from D-Bus. I think this method can be covered by phosphor-hostlogger if we using SIGUSR1 to trigger the message. But the performance will be a problem. > - Method 2: *File Watcher*; add file watchers in BmcWeb to monitor the > log files produced by phosphor-hostlogger. This method is similar to method > 1. But persistence is still a necessary condition. > - Method 3: *obmc-console + bmcweb*: install the console collection and > ring buffer parts of phosphor-hostlogger as a library. Use the library > directly in BmcWeb to collect console logs. I prefer to this method, but how to implement the phosphor-hostlogger as a library and install into the existing bmcweb may be a problem. > - Method 4: *phosphor-hostlogger + journal + rsyslog + bmcweb*: this > architecture is very similar to what the current OpenBMC uses for > redfish-event > . > Add a new schema for log entries. Publish journal logs in > phosphor-hostlogger. Add file watchers in BmcWeb to monitor the log files > produced by rsyslog. rsyslog should have log rotation enabled. Persistence > is still a necessary condition. Sincerely, Spencer Ku