rich log · filter, fold and group a log

0.0 s

Screenshots

❯ rich log app.log                                                                                                      
booting checkout service v2.4.1                                                                                         
2026-10-18T10:00:00.000Z INFO request started {"service":"api","trace_id":"4bf92f3577b34da6","path":"/cart"}            
2026-10-18T10:00:00.250Z INFO request started {"service":"web","trace_id":"00f067aa0ba902b7","path":"/"}                
2026-10-18T10:00:01.100Z WARN upstream slow {"service":"api","trace_id":"4bf92f3577b34da6","latency_ms":812}            
2026-10-18T10:00:01.900Z ERROR upstream timed out {"service":"api","trace_id":"4bf92f3577b34da6","latency_ms":3000}     
  Traceback (most recent call last):                                                                                    
    File "checkout/cart.py", line 42, in total                                                                          
  TimeoutError: inventory did not answer in 3s                                                                          
2026-10-18T10:00:02Z INFO health check {"service":"web"}                                                                
2026-10-18T10:00:03Z INFO health check {"service":"web"}                                                                
2026-10-18T10:00:04Z INFO health check {"service":"web"}                                                                
2026-10-18T10:00:05.000Z ERROR connection refused                                                                       
{"target":"web::db","host":"db","port":"5432","trace_id":"00f067aa0ba902b7"}                                            
18/Oct/2026:10:00:06 +0000 INFO GET /cart 200                                                                           
{"remote_addr":"10.0.0.7","method":"GET","path":"/cart","protocol":"HTTP/1.1","status":200,"bytes":512,"user_agent":"cur
l/8.4"}                                                                                                                 
18/Oct/2026:10:00:07 +0000 WARN GET /missing 404                                                                        
{"remote_addr":"10.0.0.7","method":"GET","path":"/missing","protocol":"HTTP/1.1","status":404,"bytes":0,"user_agent":"cu
rl/8.4"}                                                                                                                
WARN disk 91% full on /var                                                                                              
❯                                                                                                                       
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
records
❯ rich log app.log --level warn+ --where 'service=api'                                                                  
2026-10-18T10:00:01.100Z WARN upstream slow {"service":"api","trace_id":"4bf92f3577b34da6","latency_ms":812}            
2026-10-18T10:00:01.900Z ERROR upstream timed out {"service":"api","trace_id":"4bf92f3577b34da6","latency_ms":3000}     
  Traceback (most recent call last):                                                                                    
    File "checkout/cart.py", line 42, in total                                                                          
  TimeoutError: inventory did not answer in 3s                                                                          
❯                                                                                                                       
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
filtered
❯ rich log app.log --where 'msg~health' --collapse --time relative                                                      
+0.000s INFO health check {"service":"web"}                                                                             
  × 3 (last +2.000s)                                                                                                    
❯                                                                                                                       
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
folded
❯ rich log app.log --group trace                                                                                        
▸ trace 4bf92f3577b34da6 · 3 records · 1 error · 1 warning · 1.900s                                                     
  2026-10-18T10:00:00.000Z INFO request started {"service":"api","trace_id":"4bf92f3577b34da6","path":"/cart"}          
  2026-10-18T10:00:01.100Z WARN upstream slow {"service":"api","trace_id":"4bf92f3577b34da6","latency_ms":812}          
  2026-10-18T10:00:01.900Z ERROR upstream timed out {"service":"api","trace_id":"4bf92f3577b34da6","latency_ms":3000}   
    Traceback (most recent call last):                                                                                  
      File "checkout/cart.py", line 42, in total                                                                        
    TimeoutError: inventory did not answer in 3s                                                                        
▸ trace 00f067aa0ba902b7 · 2 records · 1 error · 4.750s                                                                 
  2026-10-18T10:00:00.250Z INFO request started {"service":"web","trace_id":"00f067aa0ba902b7","path":"/"}              
  2026-10-18T10:00:05.000Z ERROR connection refused                                                                     
  {"target":"web::db","host":"db","port":"5432","trace_id":"00f067aa0ba902b7"}                                          
▸ no trace id · 7 records · 2 warnings · 5.000s                                                                         
  booting checkout service v2.4.1                                                                                       
  2026-10-18T10:00:02Z INFO health check {"service":"web"}                                                              
  2026-10-18T10:00:03Z INFO health check {"service":"web"}                                                              
  2026-10-18T10:00:04Z INFO health check {"service":"web"}                                                              
  18/Oct/2026:10:00:06 +0000 INFO GET /cart 200                                                                         
  {"remote_addr":"10.0.0.7","method":"GET","path":"/cart","protocol":"HTTP/1.1","status":200,"bytes":512,"user_agent":"c
  url/8.4"}                                                                                                             
  18/Oct/2026:10:00:07 +0000 WARN GET /missing 404                                                                      
  {"remote_addr":"10.0.0.7","method":"GET","path":"/missing","protocol":"HTTP/1.1","status":404,"bytes":0,"user_agent":"
  curl/8.4"}                                                                                                            
  WARN disk 91% full on /var                                                                                            
                                                                                                                        
Summary: 12 records                                                                                                     
  error 2 · warn 3 · info 6 · no level 1                                                                                
  2 traces with errors: 4bf92f3577b34da6 (1 error), 00f067aa0ba902b7 (1 error)                                          
❯                                                                                                                       
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
                                                                                                                        
groups