Saltar al contenido

Escribir en un archivo de registro personalizado desde un script Bash

Solución:

logger registros a las instalaciones de syslog. Si desea que el mensaje vaya a un archivo en particular, debe modificar la configuración de syslog en consecuencia. Podrías agregar una línea como esta:

local7.*   -/var/log/mycustomlog

y reinicie syslog. Entonces puedes iniciar sesión así:

logger -p local7.info "information message"
logger -p local7.err "error message"

y los mensajes aparecerán en el archivo de registro deseado con el nivel de registro correcto.

Sin realizar cambios en la configuración de syslog, puede usar logger como esto:

logger -s "foo bar" >> /var/log/mycustomlog

Eso instruiría logger para imprimir el mensaje en STDERR también (además de registrarlo en syslog), para que pueda redirigir STDERR a un archivo. Sin embargo, sería completamente inútil, porque el mensaje ya está registrado a través de syslog de todos modos (con la prioridad predeterminada user.notice).

@chepner hace un buen punto que logger se dedica a registrar mensajes.

Debo mencionar que @Thomas Haratyk simplemente preguntó por qué no usé echo.

En ese momento, no sabía sobre el eco, ya que estoy aprendiendo shell-scripting, pero tenía razón.

Mi solución simple ahora es esta:

#!/bin/bash
echo "This logs to where I want, but using echo" > /var/log/mycustomlog

El ejemplo anterior sobrescribirá el archivo después de>

Entonces, puedo agregar a ese archivo con esto:

#!/bin/bash
echo "I will just append to my custom log file" >> /var/log/customlog

¡Gracias chicos!

  • en una nota al margen, es simplemente mi preferencia personal mantener mis registros personales en /var/log/, pero estoy seguro de que existen otras buenas ideas. Y como no creé un demonio, /var/log/ probablemente no sea el mejor lugar para mi archivo de registro personalizado. (solo digo)

Hay una gran cantidad de detalles sobre el registro de scripts de shell a través de variables globales de shell. Podemos emular un tipo similar de registro en un script de shell: http://www.cubicrace.com/2016/03/efficient-logging-mechnism-in-shell.html La publicación tiene detalles sobre la introducción de niveles de registro como INFO, DEBUG, ERROR. Rastreo de detalles como entrada de script, salida de script, entrada de función, salida de función.

Registro de muestra:
ingrese la descripción de la imagen aquí

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *