Estoy tratando de registrar eventos / puntos de control desde mi script de shell usando logger
.
Cómo usar logger
o syslog
utilidad en OS X (versión 10.12 (16A323)) . Yo he tratado
logger "Hello world"
y comprobado /var/log/system.log
con la aplicación Consola, la siguiente fue la entrada de registro creada
Error al cosechar cadenas para binario llamado '–Xó ^ H'
¿Cómo usar logger
en OS X? ¿Hay algo que se especifique para crear / agregar una entrada al registro del sistema OS X?
Hello World
en ningún/var/log/*.log
archivo. El comportamiento que está viendo @SG_ es reproducible en mi Mac con macOS 10.12. Además,logger -s 'Hello World'
se imprime correctamente en la consola pero no en ningún archivo de registro en el disco.Respuestas:
Porque el sistema de registro de Apple cambió en macOS sierra. Se están trasladando de la instalación de registro del sistema de Apple al registro unificado.
Aquí hay un enlace a la documentación del desarrollador.
A continuación, se filtra el nuevo registro unificado para el texto "Message4me"
=======
Si agrega --info, también verá el mensaje del evento en la salida.
En las versiones anteriores del sistema operativo, el comando logger se enviaría al archivo /var/log/system.log si la prioridad era lo suficientemente alta (por ejemplo, usando la alerta -p), así como a la base de datos syslog. En Sierra, no se escribe en system.log cuando el registrador se usa con -p alert -not en 10.12.1 de todos modos. Esto podría ser un error.
Todavía puede usar el registrador para enviar al nuevo sistema de registro, pero tendrá que usar la aplicación Consola o la utilidad de registro cli o la nueva API para ver los resultados.
fuente
Resolví este problema teniendo un script que usa netcat para enviar registros específicos cada 10 minutos desde un launchdaemon. Edite según sea necesario.
fuente
Esta no es una respuesta real sino una solución alternativa y demasiado larga para un comentario.
Enfrenté el mismo problema en Sierra al intentar registrar un script de shell de actualización homebrew que incluye comandos de registro (que funcionaba en El Capitan). Tuve que abandonar el registrador y simplemente usé echo, redirección de salida y un nuevo archivo de registro:
fuente