# Logging
If you run into issues when using Simplygon you should always check the log for clues.
You can access the log in following ways:
# Log to stdout
If you want to get the log from stdout you should enable logging as soon as you initialize the Simplygon interface.
// Enable logging, will default to stdout
sg->SetGlobalEnableLogSetting( true );
// Run processing here...
# Log to file
If you want to get the log from a file you should enable logging as soon as you initialize the Simplygon interface.
// Enable logging and send the log to the default file (%SIMPLYGON_9_SHARED\Simplygon.log%)
sg->EnableLogToFile( Simplygon::ELogLevel::Info, Simplygon::ELogDecoration::Timestamp |
Simplygon::ELogDecoration::Thread |
Simplygon::ELogDecoration::Category );
// Run processing here...
// Enable logging and send the log to a specified file
sg->EnableLogToFile( Simplygon::ELogLevel::Info, Simplygon::ELogDecoration::Timestamp |
Simplygon::ELogDecoration::Thread |
Simplygon::ELogDecoration::Category,
"C:\\temp\\Simplygon.log" );
// Run processing here...
# Errors and Warnings
If you want to access errors and warnings from the log directly in code you can use the following code.
// Run processing here...
// Check if an error occurred
if ( sg->ErrorOccurred() )
{
// Get all errors occured in processing
auto errors = sg->CreateStringArray();
sg->GetErrorMessages( errors );
}
// Check if a warning occurred
if ( sg->WarningOccurred() )
{
// Get all warnings occured in the processing
auto warnings = sg->CreateStringArray();
sg->GetWarningMessages( warnings );
}