in src/native/windows/src/log.c [106:170]
LPWSTR apxLogFile(
APXHANDLE hPool,
LPCWSTR szPath,
LPCWSTR szPrefix,
LPCWSTR szName,
BOOL bTimeStamp,
DWORD dwRotate)
{
LPWSTR sRet;
WCHAR sPath[SIZ_PATHLEN];
WCHAR sName[SIZ_PATHLEN];
SYSTEMTIME sysTime;
GetLocalTime(&sysTime);
if (!szPath) {
if (GetSystemDirectoryW(sPath, MAX_PATH) == 0)
return INVALID_HANDLE_VALUE;
lstrlcatW(sPath, MAX_PATH, LOG_PATH_DEFAULT);
}
else {
lstrlcpyW(sPath, MAX_PATH, szPath);
}
if (!szPrefix)
szPrefix = L"";
if (!szName)
szName = L"";
if (bTimeStamp) {
if (dwRotate != 0 && dwRotate < 86400)
StringCchPrintf(sName,
SIZ_PATHLEN,
L"\\%s%s" LOGF_EXR,
szPrefix,
szName,
sysTime.wYear,
sysTime.wMonth,
sysTime.wDay,
0,
0,
0);
else
StringCchPrintf(sName,
SIZ_PATHLEN,
L"\\%s%s" LOGF_EXT,
szPrefix,
szName,
sysTime.wYear,
sysTime.wMonth,
sysTime.wDay);
}
else {
StringCchPrintf(sName,
SIZ_PATHLEN,
L"\\%s%s",
szPrefix,
szName);
}
sRet = apxPoolAlloc(hPool, (SIZ_PATHLEN) * sizeof(WCHAR));
/* Set default level to info */
SHCreateDirectoryExW(NULL, sPath, NULL);
lstrlcpyW(sRet, SIZ_PATHMAX, sPath);
lstrlcatW(sRet, SIZ_PATHMAX, sName);
return sRet;
}