Changeset 41040 in vbox for trunk/src/VBox/Main/webservice
- Timestamp:
- Apr 24, 2012 10:13:40 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 77602
- Location:
- trunk/src/VBox/Main/webservice
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/webservice/Makefile.kmk
r40526 r41040 7 7 8 8 # 9 # Copyright (C) 200 6-2012 Oracle Corporation9 # Copyright (C) 2007-2012 Oracle Corporation 10 10 # 11 11 # This file is part of VirtualBox Open Source Edition (OSE), as … … 318 318 319 319 vboxweb.cpp_DEFS = \ 320 VBOX_BUILD_TARGET=\"$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)\" \321 320 $(if $(VBOX_BLEEDING_EDGE),VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\",) 322 321 -
trunk/src/VBox/Main/webservice/vboxweb.cpp
r40312 r41040 6 6 * server, to which clients can connect. 7 7 * 8 * Copyright (C) 200 6-2012 Oracle Corporation8 * Copyright (C) 2007-2012 Oracle Corporation 9 9 * 10 10 * This file is part of VirtualBox Open Source Edition (OSE), as … … 31 31 #include <VBox/version.h> 32 32 #include <VBox/log.h> 33 34 #include <package-generated.h>35 33 36 34 #include <iprt/buildconfig.h> … … 721 719 } 722 720 723 static void WebLogHeaderFooter(PRTLOGGER pLoggerRelease, RTLOGPHASE enmPhase, PFNRTLOGPHASEMSG pfnLog)724 {725 /* some introductory information */726 static RTTIMESPEC s_TimeSpec;727 char szTmp[256];728 if (enmPhase == RTLOGPHASE_BEGIN)729 RTTimeNow(&s_TimeSpec);730 RTTimeSpecToString(&s_TimeSpec, szTmp, sizeof(szTmp));731 732 switch (enmPhase)733 {734 case RTLOGPHASE_BEGIN:735 {736 pfnLog(pLoggerRelease,737 "VirtualBox web service %s r%u %s (%s %s) release log\n"738 #ifdef VBOX_BLEEDING_EDGE739 "EXPERIMENTAL build " VBOX_BLEEDING_EDGE "\n"740 #endif741 "Log opened %s\n",742 VBOX_VERSION_STRING, RTBldCfgRevision(), VBOX_BUILD_TARGET,743 __DATE__, __TIME__, szTmp);744 745 int vrc = RTSystemQueryOSInfo(RTSYSOSINFO_PRODUCT, szTmp, sizeof(szTmp));746 if (RT_SUCCESS(vrc) || vrc == VERR_BUFFER_OVERFLOW)747 pfnLog(pLoggerRelease, "OS Product: %s\n", szTmp);748 vrc = RTSystemQueryOSInfo(RTSYSOSINFO_RELEASE, szTmp, sizeof(szTmp));749 if (RT_SUCCESS(vrc) || vrc == VERR_BUFFER_OVERFLOW)750 pfnLog(pLoggerRelease, "OS Release: %s\n", szTmp);751 vrc = RTSystemQueryOSInfo(RTSYSOSINFO_VERSION, szTmp, sizeof(szTmp));752 if (RT_SUCCESS(vrc) || vrc == VERR_BUFFER_OVERFLOW)753 pfnLog(pLoggerRelease, "OS Version: %s\n", szTmp);754 if (RT_SUCCESS(vrc) || vrc == VERR_BUFFER_OVERFLOW)755 pfnLog(pLoggerRelease, "OS Service Pack: %s\n", szTmp);756 757 /* the package type is interesting for Linux distributions */758 char szExecName[RTPATH_MAX];759 char *pszExecName = RTProcGetExecutablePath(szExecName, sizeof(szExecName));760 pfnLog(pLoggerRelease,761 "Executable: %s\n"762 "Process ID: %u\n"763 "Package type: %s"764 #ifdef VBOX_OSE765 " (OSE)"766 #endif767 "\n",768 pszExecName ? pszExecName : "unknown",769 RTProcSelf(),770 VBOX_PACKAGE_STRING);771 break;772 }773 774 case RTLOGPHASE_PREROTATE:775 pfnLog(pLoggerRelease, "Log rotated - Log started %s\n", szTmp);776 break;777 778 case RTLOGPHASE_POSTROTATE:779 pfnLog(pLoggerRelease, "Log continuation - Log started %s\n", szTmp);780 break;781 782 case RTLOGPHASE_END:783 pfnLog(pLoggerRelease, "End of log file - Log started %s\n", szTmp);784 break;785 786 default:787 /* nothing */;788 }789 }790 791 721 #ifdef WITH_OPENSSL 792 722 /**************************************************************************** … … 1020 950 g_mapThreads[RTThreadSelf()] = "[M ]"; 1021 951 1022 RTStrmPrintf(g_pStdErr, VBOX_PRODUCT " web service version " VBOX_VERSION_STRING "\n"1023 "(C) 200 5-" VBOX_C_YEAR " " VBOX_VENDOR "\n"952 RTStrmPrintf(g_pStdErr, VBOX_PRODUCT " web service Version " VBOX_VERSION_STRING "\n" 953 "(C) 2007-" VBOX_C_YEAR " " VBOX_VENDOR "\n" 1024 954 "All rights reserved.\n"); 1025 955 … … 1163 1093 } 1164 1094 1165 /* create release logger */ 1166 PRTLOGGER pLoggerRelease; 1167 static const char * const s_apszGroups[] = VBOX_LOGGROUP_NAMES; 1168 RTUINT fFlags = RTLOGFLAGS_PREFIX_THREAD | RTLOGFLAGS_PREFIX_TIME_PROG; 1169 #if defined(RT_OS_WINDOWS) || defined(RT_OS_OS2) 1170 fFlags |= RTLOGFLAGS_USECRLF; 1171 #endif 1172 char szError[RTPATH_MAX + 128] = ""; 1173 int vrc = RTLogCreateEx(&pLoggerRelease, fFlags, "all", 1174 "VBOXWEBSRV_RELEASE_LOG", RT_ELEMENTS(s_apszGroups), s_apszGroups, RTLOGDEST_STDOUT, 1175 WebLogHeaderFooter, g_cHistory, g_uHistoryFileSize, g_uHistoryFileTime, 1176 szError, sizeof(szError), pszLogFile); 1177 if (RT_SUCCESS(vrc)) 1178 { 1179 /* register this logger as the release logger */ 1180 RTLogRelSetDefaultInstance(pLoggerRelease); 1181 1182 /* Explicitly flush the log in case of VBOXWEBSRV_RELEASE_LOG=buffered. */ 1183 RTLogFlush(pLoggerRelease); 1184 } 1185 else 1186 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", szError, vrc); 1095 /* create release logger, to stdout */ 1096 char szError[RTPATH_MAX + 128]; 1097 rc = com::VBoxLogRelCreate("web service", g_fDaemonize ? NULL : pszLogFile, 1098 RTLOGFLAGS_PREFIX_THREAD | RTLOGFLAGS_PREFIX_TIME_PROG, 1099 "all", "VBOXWEBSRV_RELEASE_LOG", 1100 RTLOGDEST_STDOUT, UINT32_MAX /* cMaxEntriesPerGroup */, 1101 g_cHistory, g_uHistoryFileTime, g_uHistoryFileSize, 1102 szError, sizeof(szError)); 1103 if (RT_FAILURE(rc)) 1104 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", szError, rc); 1187 1105 1188 1106 #if defined(RT_OS_DARWIN) || defined(RT_OS_LINUX) || defined (RT_OS_SOLARIS) || defined(RT_OS_FREEBSD) … … 1192 1110 char szLogFile[RTPATH_MAX]; 1193 1111 1194 rc = com::GetVBoxUserHomeDirectory(szLogFile, sizeof(szLogFile)); 1195 if (RT_FAILURE(rc)) 1196 return RTMsgErrorExit(RTEXITCODE_FAILURE, "could not get base directory for logging: %Rrc", rc); 1197 rc = RTPathAppend(szLogFile, sizeof(szLogFile), "vboxwebsrv.log"); 1198 if (RT_FAILURE(rc)) 1199 return RTMsgErrorExit(RTEXITCODE_FAILURE, "could not construct logging path: %Rrc", rc); 1112 if (!pszLogFile || !*pszLogFile) 1113 { 1114 rc = com::GetVBoxUserHomeDirectory(szLogFile, sizeof(szLogFile)); 1115 if (RT_FAILURE(rc)) 1116 return RTMsgErrorExit(RTEXITCODE_FAILURE, "could not get base directory for logging: %Rrc", rc); 1117 rc = RTPathAppend(szLogFile, sizeof(szLogFile), "vboxwebsrv.log"); 1118 if (RT_FAILURE(rc)) 1119 return RTMsgErrorExit(RTEXITCODE_FAILURE, "could not construct logging path: %Rrc", rc); 1120 pszLogFile = szLogFile; 1121 } 1200 1122 1201 1123 rc = RTProcDaemonizeUsingFork(false /* fNoChDir */, false /* fNoClose */, pszPidFile); … … 1203 1125 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to daemonize, rc=%Rrc. exiting.", rc); 1204 1126 1205 /* create release logger */ 1206 PRTLOGGER pLoggerReleaseFile; 1207 static const char * const s_apszGroupsFile[] = VBOX_LOGGROUP_NAMES; 1208 RTUINT fFlagsFile = RTLOGFLAGS_PREFIX_THREAD | RTLOGFLAGS_PREFIX_TIME_PROG; 1209 #if defined(RT_OS_WINDOWS) || defined(RT_OS_OS2) 1210 fFlagsFile |= RTLOGFLAGS_USECRLF; 1211 #endif 1212 char szErrorFile[RTPATH_MAX + 128] = ""; 1213 int vrc = RTLogCreateEx(&pLoggerReleaseFile, fFlagsFile, "all", 1214 "VBOXWEBSRV_RELEASE_LOG", RT_ELEMENTS(s_apszGroupsFile), s_apszGroupsFile, RTLOGDEST_FILE, 1215 WebLogHeaderFooter, g_cHistory, g_uHistoryFileSize, g_uHistoryFileTime, 1216 szErrorFile, sizeof(szErrorFile), szLogFile); 1217 if (RT_SUCCESS(vrc)) 1218 { 1219 /* register this logger as the release logger */ 1220 RTLogRelSetDefaultInstance(pLoggerReleaseFile); 1221 1222 /* Explicitly flush the log in case of VBOXWEBSRV_RELEASE_LOG=buffered. */ 1223 RTLogFlush(pLoggerReleaseFile); 1224 } 1225 else 1226 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", szErrorFile, vrc); 1127 /* create release logger, to file */ 1128 rc = com::VBoxLogRelCreate("web service", pszLogFile, 1129 RTLOGFLAGS_PREFIX_THREAD | RTLOGFLAGS_PREFIX_TIME_PROG, 1130 "all", "VBOXWEBSRV_RELEASE_LOG", 1131 RTLOGDEST_FILE, UINT32_MAX /* cMaxEntriesPerGroup */, 1132 g_cHistory, g_uHistoryFileTime, g_uHistoryFileSize, 1133 szError, sizeof(szError)); 1134 if (RT_FAILURE(rc)) 1135 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", szError, rc); 1227 1136 } 1228 1137 #endif -
trunk/src/VBox/Main/webservice/websrv-cpp.xsl
r39091 r41040 12 12 generated for the webservice. 13 13 14 Copyright (C) 200 6-2010Oracle Corporation14 Copyright (C) 2007-2012 Oracle Corporation 15 15 16 16 This file is part of VirtualBox Open Source Edition (OSE), as … … 68 68 #include <VBox/com/EventQueue.h> 69 69 #include <VBox/VBoxAuth.h> 70 #include <VBox/version.h>71 70 72 71 #include <iprt/assert.h>
Note:
See TracChangeset
for help on using the changeset viewer.