mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-02 22:40:22 +00:00
feat: better logs page
This commit is contained in:
parent
e387b1f16c
commit
b638dafe5f
8 changed files with 280 additions and 36 deletions
|
|
@ -17,6 +17,11 @@ const (
|
|||
PersistTimeArg = "$_persist_time"
|
||||
)
|
||||
|
||||
const (
|
||||
// Maximum number of log messages to keep in memory
|
||||
maxLogMessages = 1000
|
||||
)
|
||||
|
||||
type LogData struct {
|
||||
messages []LogMessage
|
||||
*pubsub.Broker[LogMessage]
|
||||
|
|
@ -26,7 +31,15 @@ type LogData struct {
|
|||
func (l *LogData) Add(msg LogMessage) {
|
||||
l.lock.Lock()
|
||||
defer l.lock.Unlock()
|
||||
|
||||
// Add new message
|
||||
l.messages = append(l.messages, msg)
|
||||
|
||||
// Trim if exceeding max capacity
|
||||
if len(l.messages) > maxLogMessages {
|
||||
l.messages = l.messages[len(l.messages)-maxLogMessages:]
|
||||
}
|
||||
|
||||
l.Publish(pubsub.CreatedEvent, msg)
|
||||
}
|
||||
|
||||
|
|
@ -37,7 +50,7 @@ func (l *LogData) List() []LogMessage {
|
|||
}
|
||||
|
||||
var defaultLogData = &LogData{
|
||||
messages: make([]LogMessage, 0),
|
||||
messages: make([]LogMessage, 0, maxLogMessages),
|
||||
Broker: pubsub.NewBroker[LogMessage](),
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue