3 votos

¿Cómo uso `log stream` para buscar TODOS los registros existentes en macOS para cadenas?

Necesito buscar "alguna cadena" en todos los registros de macOS Mojave. Me dijeron que la forma de hacer esto era ejecutar:

 sudo log stream --source --start'1999-99-99 23:59' | egrep -i "some regex string"
 

Sin embargo, esto no está haciendo el truco. ¿Cuál es la forma adecuada de hacer esto?

1voto

slm Puntos 118

No hay soporte para --start

El uso de las directrices para log stream no dan indicaciones de que un --start argumento se apoya, me pregunto si ellos estaban hablando de log show lugar.

registro de uso de la secuencia
$ log stream --source --start
log: unrecognized option `--start'
usage: log stream [options]
   or: log stream [options] --process <pid> | <process>

description:
    Stream events from the system or a given process.

options:
    --color <mode>                  Control color output (valid: auto, always, none)
    --level default | info | debug  Include events at, and below, the given level
    --predicate <predicate>         Filter events using the given predicate
    --process <pid> | <process>     Stream events from the specified process
    --source                        Annotate output with source file and line-number
    --style <style>                 Output format (valid: syslog, json, compact)
    --timeout <num>[m|h|d]          Terminate streaming after timeout has elapsed
    --type activity | log | trace   Limit streaming to a given event type
    --mach-continuous-time          Print mach continuous time timestamps rather than walltime

predicate usage:
    Filter predicates follow the NSPredicate format described at:
    https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html

    For predicate field/type details, see `log help predicates`.

El uso de log show

log show tiene un --start interruptor que se puede utilizar de la siguiente manera:

$ log show --source --start '2019-01-01' | egrep -i "some regex string"

NOTA: Esto puede ser muy costoso comando a ejecutar, ya que va a ir a través de todos los registros en el sistema a partir de que --start de tiempo, pero va a devolver todos los partidos a su egrep.

Transmisión de los registros de

El uso de log show va a parar una vez que se encuentra con el final de los registros. Si usted realmente desea analizar/filtro de la secuencia de los registros a medida que ocurren, a continuación, usted querrá usar log stream como este:

$ log stream --source | grep -iE "some regex string"

-o bien-

$ log stream --source --predicate 'processImagePath contains "some bit of text"'

Referencias

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by: