AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1433674
Accepted
F.H.
F.H.
Asked: 2019-05-07 08:34:38 +0800 CST2019-05-07 08:34:38 +0800 CST 2019-05-07 08:34:38 +0800 CST

Registro do aplicativo no Linux

  • 772

Qual é a maneira apropriada para os aplicativos (por exemplo, Node) fazerem login no Linux? Com o Windows, há o log de eventos no qual os aplicativos podem gravar.

Devemos apenas criar arquivos de log var/logpara cada aplicativo?

linux logging
  • 1 1 respostas
  • 737 Views

1 respostas

  • Voted
  1. Best Answer
    user1686
    2019-05-07T09:12:06+08:002019-05-07T09:12:06+08:00
    1. A API tradicional em sistemas do tipo Unix é syslog(3) .

      openlog("myapp", 0, LOG_DAEMON);
      ...
      syslog(LOG_INFO, "Thing '%s' happened", thing->name);
      

      O uso da API syslog() enviará mensagens para o logger do sistema atualmente instalado, o que permite que o administrador do sistema filtre mensagens, aplique políticas de rotação, encaminhe para um servidor remoto e assim por diante.

      O módulo Node correspondente parece ser node-syslog , mas você pode implementá-lo manualmente enviando mensagens para o /dev/logsoquete Unix.

    2. Muitas distribuições do Linux também possuem o systemd-journal com sua própria API , que permite que os metadados sejam anexados (por exemplo, todas as mensagens sobre uma única solicitação podem ser marcadas com um campo de metadados "MYAPP_REQUEST_ID=[...]" e facilmente consultadas mais tarde).

      sd_journal_send("MESSAGE=Thing '%s' happened", thing->name,
                      "PRIORITY=%i", LOG_INFO,
                      NULL);
      

      Existe um módulo Node chamado systemd-journald que fornece acesso a essa API.

    3. Uma opção simples é gravar todas as mensagens de log em stderr. Idealmente, deve usar um formato simples com apenas uma mensagem por linha – sem cores, sem carimbos de data/hora, sem prefixos/marcadores sofisticados; o gerente de serviço adicionará o seu próprio. Neste modo, a única coisa que você deve adicionar é o número de prioridade do estilo syslog (por exemplo, 3 correspondendo a LOG_ERR):

      <3>Something bad happened.
      
    4. Para mensagens de propósito geral, não é recomendado criar seu próprio arquivo e, especialmente, inventar seu próprio formato de log; isso tornará a vida mais difícil para o administrador do sistema. Por outro lado, é uma boa ideia fazer isso quando você estiver prestes a registrar grandes quantidades de mensagens que, de outra forma, sobrecarregariam o syslog. (Por exemplo, servidores da Web como o Apache registrarão todas as solicitações no arquivo /var/log/apache/access.log por padrão.)

    • 2

relate perguntas

  • Como eu faria minha máquina Linux parecer que está executando o Windows?

  • Existe um equivalente a cd - para cp ou mv?

  • execute o contêiner do docker como root

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • Como alterar permanentemente Ctrl + C para Ctrl + K no CentOS 7?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve