Existe alguma função interna (bash / gentoo) para fornecer uma saída legível para o usuário?

2

Estou usando a seguinte função simples para fornecer uma saída bem legível ao usuário. Agora estou me perguntando se existe algum tipo de função embutida (gentoo- / bash-) para realizar essa tarefa, já que isso parece "reinventar" a roda. Desde já, obrigado.

function log
{
        red='3[0;31m'
        green='3[0;32m'
        yellow='3[1;33m'
        term='3[0m'

        if [ "$1" == "INFO" ]; then
                echo -e "${green}[i] $2 ${term}"
        elif [ "$1" == "WARN" ]; then
                echo -e "${yellow}[w] $2 ${term}"
        elif [ "$1" == "ERROR" ]; then
                echo -e "${red}[e] $2 ${term}"
        fi
}
    
por Matze 18.12.2014 / 21:42

3 respostas

1

Não tenho certeza do que você está tentando alcançar, mas se sua função interagir de alguma forma com o portage, talvez você possa usar sua definição de cor. De man 5 color.map :

VARIABLES
       NORMAL = "normal"
              Defines color used for some words  occuring  in  other  contexts  than  those
              below.

       BAD = "red"
              Defines color used for some words occuring in bad context.

       BRACKET = "blue"
              Defines color used for brackets.

       GOOD = "green"
              Defines color used for some words occuring in good context.

       HILITE = "teal"
              Defines color used for highlighted words.

       INFORM = "darkgreen"
              Defines color used for informational words.

       [...]

       SECURITY_WARN = "red"
              Defines color used for security warnings.

       UNMERGE_WARN = "red"
              Defines color used for unmerge warnings.

       WARN = "yellow"
          Defines color used for warnings.
    
por 18.12.2014 / 21:50
1

Não há nenhuma função interna para colorir os registros, mas há

  • Vim com seu messages realçador que facilita a leitura dos logs e também destaca linhas com determinadas palavras-chave ("error", "failed", etc.) em vermelho.
    Experimente :setf messages .

  • ccze - Um colorizador de log robusto - um substituto para colorize que aparentemente tem muitas maneiras de personalizar os recursos de colorização.

  • colortail , que "é basicamente a cauda, mas com suporte para cores."

  • e um monte de outras ferramentas - veja esta pergunta para mais alguns

por 18.12.2014 / 22:16
0

Considere a possibilidade de ativar o ELogging do Portage.

Extraído do Wiki do Gentoo: registro do Portage .

Por dentro de /etc/portage/make.conf :

  1. Defina PORT_LOGDIR , ou seja, PORT_LOGDIR="/var/log/portage"
  2. Defina PORTAGE_ELOG_CLASSES , ou seja, PORTAGE_ELOG_CLASSES="log warn error"
  3. Defina PORTAGE_ELOG_SYSTEM , ou seja, PORTAGE_ELOG_SYSTEM="save"

Você também pode definir a Opção 3 de maneira diferente, dependendo de suas necessidades.

For mailing logs to some recipient, you should enable the mail module instead, and set some additional variables, too. Please read /usr/share/portage/config/make.conf.example for details.

    
por 18.12.2014 / 22:25