실행이 지연되는 것으로 보이는 DLL에 로깅을 추가하려고합니다.VB6 : ActiveX DLL로 로깅을 수행 할 수 없습니다.
Sub PrepareLogging(ByVal strAppName As String)
Dim objFS As FileSystemObject
Dim objFolder As Folder
Dim objFile As File
Set objFS = New Scripting.FileSystemObject
g_strAppName = strAppName
If Not objFS.FolderExists(strLOG_PATH & g_strAppName) Then
objFS.CreateFolder (strLOG_PATH & g_strAppName)
End If
Set objFolder = objFS.GetFolder(strLOG_PATH & g_strAppName)
For Each objFile In objFolder.Files
If (Now - objFile.DateCreated) > 60 Then
objFile.Delete
End If
Next
Set objFolder = Nothing
Set objFS = Nothing
End Sub
Sub LogAction(ByVal strMsg As String)
Dim objFS As FileSystemObject
Dim objText As TextStream
Set objFS = New Scripting.FileSystemObject
Set objText = objFS.OpenTextFile(strLOG_PATH & g_strAppName & "\" & Format(Date, "yyyymmdd") & ".log", ForAppending, True)
objText.WriteLine (Format(Time, "hh:mm:ss") & " - " & strMsg)
objText.Close
Set objText = Nothing
Set objFS = Nothing
End Sub
코드는 실행되지만 그냥 모든 로깅 기능을 무시하는 것 같다 단순히 파일에 로그인 할 때 몇 서브 루틴을 추가하는 노력했다. 나는이 서브 루틴으로 모듈을 추가 한 다른 dll과 exes에서 작동하기 때문에 코드가 정확하다는 것을 알고있다. 기본 명령을 추가하여 이벤트 로그에 직접 기록하려고 시도했습니다.
App.LogEvent strMsg
그러나 실패합니다. 나는 고토 ErrorHandler를 섹션으로 코드의 오류를 잡으려고 경우
는ErrorHandler:
App.LogEvent Err.Number & Err.Description
응용 프로그램은 완전히 심지어 웹 서비스에 로그인 한 후 어떤 옵션을 선택할 수 있도록, 실패합니다. 그 문제는 응용 프로그램 로그가 가득 차있는 것이 아니라 새로운 이벤트가 계속 추가되어 문제가된다는 것을 알고 있습니다. 이 문제의 원인에 대한 제안이나 아이디어는 크게 감사 할 것입니다.
편집 나는 좋은 제안을 주셔서 감사합니다,하지만 그들은 문제가 해결되지 않았다. 그러나 나는, 어떤 이유로, 그것은 선을 좋아하지 않는 것으로 판단 않았다
Set objFolder = objFS.GetFolder(strLOG_PATH & g_strAppName)
나는 부분은 오래된 파일을 삭제하는 등, 작동 것을 제거합니다. 그곳에 수백 개의 로그 파일이 서버에 쌓이는 것을 막기 위해이 파일을 갖고 싶습니다.
최종 편집
http://support.microsoft.com/kb/251264를 문제에 연결할 수 있습니다. – wqw