| Version 10 (modified by raphael.costa, 10 years ago) (diff) |
|---|
Suporte de Log no TerraMA²
- Quais são as macros de compilação necessárias?
- Qual a biblioteca utilizada e por que?
- Como usar o suporte de Log?
- O que adicionar ao CMakeLists.txt de um novo módulo ou aplicativo para utilizar o suporte de Log?
- Fazer um componente Qt que possibilite ver o log? implementar como um sink?
Boost Log
Macros de compilação
| BOOST_LOG_DYN_LINK | Assume que a biblioteca será dinamicamente carregada, ou seja, "dll", "so" |
| BOOST_LOG_NO_THREADS | Desabilita o suporte a multithread. É alterada automaticamente quando não é encontrado o suporte a threads |
| BOOST_LOG_WITHOUT_CHAR | |
| BOOST_LOG_WITHOUT_WCHAR_T | |
| BOOST_LOG_NO_QUERY_PERFORMANCE_COUNTER | |
| BOOST_LOG_USE_NATIVE_SYSLOG | Afeta em tempo de compilação da biblioteca. Se por alguma razao o suporte a API SysLog? nativa não for detectada, esta macro permite forçar e habilita-la. |
| BOOST_LOG_WITHOUT_DEFAULT_FACTORIES | |
| BOOST_LOG_WITHOUT_SETTINGS_PARSERS | |
| BOOST_LOG_WITHOUT_DEBUG_OUTPUT | Afeta em tempo de compilação. Se definido, o support da saída do debugger no Windows não será construído |
| BOOST_LOG_WITHOUT_EVENT_LOG | Afeta em tempo de compilação da biblioteca. Se definida, o suporte ao evento de log do Windows não será construído. Defining the macro also makes Message Compiler toolset unnecessary. |
| BOOST_LOG_WITHOUT_SYSLOG | Afeta em tempo de compilação da biblioteca. Se definida, o suporte do syslog não será construido |
| BOOST_LOG_NO_SHORTHAND_NAMES | |
| BOOST_LOG_USE_COMPILER_TLS | Afeta em tempo de compilação da biblioteca. A macro define os parametros estabelecidos do compilador para armazenamento thread local. Isto pode melhorar o desempenho do Boostlog se as limitações são aceitaveis |
| BOOST_LOG_USE_STD_REGEX, BOOST_LOG_USE_BOOST_REGEX ou BOOST_LOG_USE_BOOST_XPRESSIVE |
Configuraração do CMakeLists.txt
Procurar pela biblioteca boost log:
find_package(Boost 1.54.0 REQUIRED log log_setup system)
Linkar o novo módulo com a biblioteca boost log:
target_link_libraries(mymodule ${Boost_SYSTEM_LIBRARY}
${Boost_LOG_SETUP_LIBRARY}
${Boost_LOG_LIBRARY})
