Início da mudança

Criando Catálogos de Mensagens

Criar seu próprio catálogo de mensagens para gravar entradas padronizadas no log de erros local.

Em algumas situações de erro e em outras situações, você pode optar por gravar informações no log de erros para poder rastrear o que está acontecendo em um fluxo de mensagens. Você pode utilizar os nós integrados Throw e Trace para gerar entradas no log, ou pode criar seus próprios nós e saídas de usuário e gravar entradas no log a partir de suas extensões definidas pelo usuário.

É possível gravar qualquer um ou dois dos seguintes conjuntos de mensagens:

Início da mudançaAs instruções neste tópico descrevem como criar catálogos de mensagens para programas C. Se desejar criar um pacote de recursos Java, consulte a documentação para Java 2 Platform, Standard Edition.Fim da mudança

Leia a seção apropriada para sua plataforma operacional do intermediário:

Construindo e Instalando uma Origem da Mensagem do Windows

No Windows®, é necessário criar seu catálogo de mensagens adicional como um arquivo DLL. O arquivo DLL contém definições de suas mensagens de eventos que o visualizador de eventos pode exibir em um formato legível, com base na mensagem de eventos gravada por seu aplicativo. Ao compilar um catálogo de mensagens, um arquivo de cabeçalho é criado, definindo valores simbólicos para cada número da mensagem de eventos que você criou. Você deve incluir o arquivo de cabeçalho em seu aplicativo.

Para criar uma fonte de eventos para o Serviço de Registro de Eventos do Windows:

  1. Crie um arquivo de entrada compilador de mensagem (.mc) com a origem de suas mensagens de eventos. Consulte o Web site Microsoft® Developer Network, e procure no arquivo .mc file detalhes do formato deste arquivo de entrada.
  2. Compile o arquivo de mensagens para criar um arquivo de entrada do compilador de recursos:
    mc -v -w -s -h c:\mymessages -r c:\mymessages mymsg.mc

    em que c:\mymessages é o local dos arquivos de saída e mymsg.mc é o nome do arquivo de entrada.

    O compilador de mensagens produz um arquivo de cabeçalho de entrada (.h) que contém #defines simbólicos que são mapeados para cada número de mensagem codificado no arquivo .mc de entrada. Inclua este arquivo de cabeçalho quando compilar um arquivo de origem de extensão definido pelo usuário que utiliza uma função de utilitário (por exemplo, CciLog) para gravar uma mensagem do evento definida. O argumento messageNumber para a função de utilitário deve utilizar o valor apropriado definido no arquivo de cabeçalho de saída.

  3. Compile o arquivo de saída (.rc) a partir do compilador de mensagens para criar um arquivo de recursos (.res):
    RC /v output_file.rc
  4. Crie um arquivo DLL de recursos a partir do arquivo .res:
    LINK /DLL /NOENTRY resource_file.res
  5. Start of changeAnexe o local do arquivo DLL de recursos à variável de ambiente MQSI_CONSOLE_NLSPATH, por exemplo:
    set MQSI_CONSOLE_NLSPATH=%MQSI_CONSOLE_NSPATH%;c:\messages
    Isto pode ser feito criando um script de ambiente customizado em seu diretório de trabalho. O local padrão é %ALLUSERSPROFILE%\Application Data\IBM\MQSI\common\profiles em que %ALLUSERSPROFILE% é a variável de ambiente que define o diretório de trabalho do sistema. O valor padrão é C:\Documents and Settings\All Users. O valor real deve ser diferente em seu computador.End of change
  6. Instale a fonte de eventos no Serviço de Log de Eventos do Windows:
    1. Inicie o Editor do Registro do Windows:
      regedit
    2. Crie uma nova subchave de registro para sua extensão definida pelo usuário sob a estrutura existente:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application

      Clique com o botão direito do mouse em Aplicativo e selecione Novo > Chave. A nova chave será criada imediatamente sob a chave Aplicativo (e não sob a chave WebSphere Message Broker).Você pode dar à chave um nome especificado para messageSource na função de utilitário em sua extensão definida pelo usuário (por exemplo, CciLog) ou como a propriedade do nó integrado que você incluiu em seu fluxo de mensagens.

      Crie os seguintes valores para esta entrada:

      EventMessageFile
      Configure o valor desta cadeia para conter o caminho completo para o arquivo DLL criado para conter suas mensagens. Esta entrada representa o catálogo de mensagens.
      TypesSupported
      Configure o valor DWORD para "7".

Criando um Catálogo XPG/4 para Linux, UNIX e z/OS

Start of change

Em sistemas Linux®, UNIX® e z/OS®, as mensagens são gravadas no recurso SYSLOG. Se desejar utilizar seu próprio catálogo de mensagens, deverá criar um catálogo de mensagens XPG/4.

O processo de criação de um catálogo de mensagens (um arquivo .cat) depende do sistema operacional no qual ele está sendo criado. Os comandos utilizados geralmente são gencat (criar ou modificar um catálogo de mensagens) e dspcat (para exibir toda ou uma parte de um catálogo de mensagens). O comando gencat consolida arquivos de texto que contêm seu texto da mensagem, para criar ou modificar um catálogo formatado. Os arquivos de texto geralmente possuem uma extensão de arquivo .msg.

É necessário anexar o local do catálogo de mensagens à variável de ambiente NLSPATH. Você pode utilizar %L e %N para representar o código do idioma e o nome do catálogo, por exemplo:
export NLSPATH=${NLSPATH}:${MY_INST_PATH}/messages/%L/%N:${MY_INST_PATH}/messages/En_US/%N
Neste exemplo, a versão em inglês é codificada permanentemente mais tarde no caminho da procura, assegurando que as mensagens sejam exibidas mesmo em códigos do idioma para os quais não existe nenhum arquivo .cat.
As mensagens definidas nos arquivos .msg podem incluir variáveis que são substituídas no tempo de execução. Tais variáveis devem ter o formato {number}, em que {number} é o número de inserção da mensagem, colocado entre chaves. A primeira inserção de mensagem é numerada como 0. Por exemplo:
1234 "MSG1234E: \
Erro de Sintaxe. \n
O valor '{0}' não é válido para a propriedade '{1}'.\n
Corrija-o e, em seguida, emita o comando novamente.\n"

Se você criar um catálogo de mensagens em um sistema operacional, não poderá portá-lo para outro sistema operacional, porque os catálogos são codificados como binários. No entanto, você pode utilizar os mesmos arquivos .msg como entrada para o comando gencat em outro sistema.

Consulte as informações relevantes na documentação para seu sistema operacional. Exemplo:

  • AIX platform Para AIX®, consulte o Commands Reference no centro de informações.
  • z/OS platform Para z/OS, consulte o UNIX System Services Command Reference no LibraryCenter.

Também é necessário verificar as informações sobre códigos do idioma suportados adicionais, se desejar utilizar mensagens em códigos do idioma diferentes do inglês americano.

End of change
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:13:06

as04521_

Fim da mudança