#include <Message.hxx>
#include <Message_Messenger.hxx>
+#include <Message_PrinterSystemLog.hxx>
#include <OSD_MemInfo.hxx>
#include <OSD_Parallel.hxx>
int main()
{
Message::DefaultMessenger()->Printers().First()->SetTraceLevel (Message_Trace);
+ Handle(Message_PrinterSystemLog) aJSConsolePrinter = new Message_PrinterSystemLog ("webgl-sample", Message_Trace);
+ Message::DefaultMessenger()->AddPrinter (aJSConsolePrinter); // open JavaScript console within the Browser to see this output
Message::DefaultMessenger()->Send (TCollection_AsciiString("NbLogicalProcessors: ") + OSD_Parallel::NbLogicalProcessors(), Message_Trace);
aViewer.run();
Message::DefaultMessenger()->Send (OSD_MemInfo::PrintInfo(), Message_Trace);
}
return ANDROID_LOG_DEBUG;
}
+#elif defined(__EMSCRIPTEN__)
+ #include <emscripten/emscripten.h>
+
+ // actual version of Emscripten does not define these yet
+ #ifndef EM_LOG_INFO
+ #define EM_LOG_INFO 0
+ #endif
+ #ifndef EM_LOG_DEBUG
+ #define EM_LOG_DEBUG 0
+ #endif
+
+ //! Convert message gravity into emscripten_log() flags.
+ static int getEmscriptenPriority (const Message_Gravity theGravity)
+ {
+ switch (theGravity)
+ {
+ case Message_Trace: return EM_LOG_CONSOLE | EM_LOG_DEBUG;
+ case Message_Info: return EM_LOG_CONSOLE | EM_LOG_INFO;
+ case Message_Warning: return EM_LOG_CONSOLE | EM_LOG_WARN;
+ case Message_Alarm: return EM_LOG_CONSOLE | EM_LOG_ERROR;
+ case Message_Fail: return EM_LOG_CONSOLE | EM_LOG_ERROR;
+ }
+ return EM_LOG_CONSOLE;
+ }
+
+ //! Print message to console.debug().
+ EM_JS(void, debugMsgToConsole, (const char* theStr), {
+ console.debug(UTF8ToString(theStr));
+ });
#else
#include <syslog.h>
myEventSource = (Standard_Address )RegisterEventSourceW (NULL, aWideSrcName.ToWideString());
#elif defined(__ANDROID__)
//
+#elif defined(__EMSCRIPTEN__)
+ //
#else
openlog (myEventSourceName.ToCString(), LOG_PID | LOG_NDELAY, LOG_USER);
#endif
}
#elif defined(__ANDROID__)
//
+#elif defined(__EMSCRIPTEN__)
+ //
#else
closelog();
#endif
Send (TCollection_ExtendedString (theString), theGravity, true);
#elif defined(__ANDROID__)
__android_log_write (getAndroidLogPriority (theGravity), myEventSourceName.ToCString(), theString);
+#elif defined(__EMSCRIPTEN__)
+ if (theGravity == Message_Trace)
+ {
+ debugMsgToConsole (theString);
+ }
+ else
+ {
+ emscripten_log (getEmscriptenPriority (theGravity), "%s", theString);
+ }
#else
syslog (getSysLogPriority (theGravity), "%s", theString);
#endif
Send (TCollection_ExtendedString (theString), theGravity, true);
#elif defined(__ANDROID__)
__android_log_write (getAndroidLogPriority (theGravity), myEventSourceName.ToCString(), theString.ToCString());
+#elif defined(__EMSCRIPTEN__)
+ if (theGravity == Message_Trace)
+ {
+ debugMsgToConsole (theString.ToCString());
+ }
+ else
+ {
+ emscripten_log (getEmscriptenPriority (theGravity), "%s", theString.ToCString());
+ }
#else
syslog (getSysLogPriority (theGravity), "%s", theString.ToCString());
#endif