首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

这是一段建立log文件的代码,可是如何用啊

2013-06-19 
这是一段建立log文件的代码,可是怎么用啊?Module basLogging (32-bit functionality only)The routine

这是一段建立log文件的代码,可是怎么用啊?

'
'Module basLogging (32-bit functionality only)
'
'The routines in this module are used for logging actions,
'warnings, notes and errors in an application removal
'logfile.  This logfile will be used by the application
'removal utility (ST4UNST.EXE) in the event that the user
'decides to remove the installed application (via a Program
'Manager icon under Windows NT or the Add/Remove Programs
'control panel applet under Windows 95).
'
'The functions are based on transaction-like "actions".
'Whenever the setup program starts to process a new action
'(an action is anything which the application removal
'utility must undo), the function NewAction() must be
'called with the appropriate parameters for that action
'(search for NewAction in this project to see how the
'correct parameters for various actions are formed).
'When the action has been successfully completed, the
'function CommitAction() is called, or, if the
'action was not successfully completed, AbortAction()
'must be called.  If CommitAction() is called, then the
'action is logged at that point, and the application
'removal utility will undo that action (example, delete
'a file which was copied by setup).
'
'Actions may be nested (for instance, a file copy
'action may have a nested direction creation action).
'Any errors, warnings or notes logged will note in
'the logfile the pending action (if any).  Even if
'an error is logged, the pending action must either
'be committed or canceled.  See comments for each
'function below for more specifics.
'模块baslogging(32位的功能只)
'
'这个模块中的程序用于测井的行动,
'
'警告,在应用中去除的笔记和错误
'
'日志文件?该文件将被使用的应用程序
'
'清除工具(st4unst。exe)的事件,用户
'
'决定要删除已安装的应用程序(通过一个程序
'
'管理器图标在Windows NT或添加 / 删除程序
'
'控制面板小程序在Windows 95下)。
'
'该功能是基于交易的“行动”。
'
'当安装程序开始处理一个新的动作
'
'(一个动作是任何应用程序删除
'
'它必须撤销),功能newaction()必须
'
'为行动的适当的参数
'
'(寻找新的行动在这个项目怎么看
'
'各种操作参数的正确形成)。
'
'当行动已顺利完成,该
'
'功能commitaction()叫,或者,如果
'
'行动没有成功完成,abortaction()
'
'必须调用。如果commitaction()叫,然后
'
'动作被记录在这一点上,与应用
'
'清除工具将撤消行动(例如,删除
'
'这是复制安装文件)。
'
'的行动可能是嵌套的(例如,一个文件的副本
'
'行动可能有一个嵌套的方向创造行动)。
'
'任何错误,警告或笔记记录会注意
'
'日志文件的挂起的作用(如果有的话)。即使
'
'记录错误,悬而未决的行动必须
'
'提交或取消。看评论,每个

下面的函数为更多的细节?

'Application removal is only supported for 32-bit projects
#If Win32 And LOGGING Then

'Set this constant to FALSE if you do not want warnings to appear
'in the logfile
Global Const fLOG_WARNINGS = True



'Global Action Key constants
Global Const gstrKEY_PRIVATEFILE = "PrivateFile"
Global Const gstrKEY_SHAREDFILE = "SharedFile"
Global Const gstrKEY_SYSTEMFILE = "SystemFile"
Global Const gstrKEY_CREATEDIR = "CreateDir"
Global Const gstrKEY_PROGMANGROUP = "ProgManGroup"
Global Const gstrKEY_PROGMANITEM = "ProgManItem"
Global Const gstrKEY_SHELLFOLDER = "ShellFolder"
Global Const gstrKEY_SHELLLINK = "ShellLink"
Global Const gstrKEY_DLLSELFREGISTER = "DllSelfRegister"
Global Const gstrKEY_EXESELFREGISTER = "ExeSelfRegister"
Global Const gstrKEY_REMOTEREGISTER = "RemoteRegister"
Global Const gstrKEY_REGKEY = "RegKey"
Global Const gstrKEY_REGVALUE = "RegValue"

'STKIT432.DLL logging errors
Private Const LOGERR_SUCCESS = 0
Private Const LOGERR_INVALIDARGS = 1
Private Const LOGERR_OUTOFMEMORY = 2
Private Const LOGERR_EXCEEDEDCAPACITY = 3
Private Const LOGERR_WRITEERROR = 4
Private Const LOGERR_NOCURRENTACTION = 5
Private Const LOGERR_UNEXPECTED = 6
Private Const LOGERR_FILENOTFOUND = 7

'Logging error Severities
Private Const LogErrOK = 1 ' OK to continue upon this error
Private Const LogErrFatal = 2 ' Must terminate install upon this error

'SKIT432.DLL interfaces
Private Declare Function DllAbortAction Lib "STKIT432.DLL" Alias "AbortAction" () As Long
Private Declare Function DllAddActionNote Lib "STKIT432.DLL" Alias "AddActionNote" (ByVal lpszNote As String) As Long
Private Declare Function DllChangeActionKey Lib "STKIT432.DLL" Alias "ChangeActionKey" (ByVal lpszNewKey As String) As Long
Private Declare Function DllCommitAction Lib "STKIT432.DLL" Alias "CommitAction" () As Long
Private Declare Function fDllWithinAction Lib "STKIT432.DLL" Alias "fWithinAction" () As Long
Private Declare Function DllLogError Lib "STKIT432.DLL" Alias "LogError" (ByVal lpszERROR As String, ByVal lpszDURINGACTION As String, ByVal lpszErrMsg As String) As Long
Private Declare Function DllLogNote Lib "STKIT432.DLL" Alias "LogNote" (ByVal lpszNote As String) As Long
Private Declare Function DllLogWarning Lib "STKIT432.DLL" Alias "LogWarning" (ByVal lpszWARNING As String, ByVal lpszDURINGACTION As String, ByVal lpszWarningMsg As String) As Long
Private Declare Function DllNewAction Lib "STKIT432.DLL" Alias "NewAction" (ByVal lpszKey As String, ByVal lpszData As String) As Long
Private Declare Function DllEnableLogging Lib "STKIT432.DLL" Alias "EnableLogging" (ByVal lpszFilename As String) As Long
Private Declare Function DllDisableLogging Lib "STKIT432.DLL" Alias "DisableLogging" () As Long

'-----------------------


' SUB: AbortAction
'
' Aborts the current action.中止当前的行动
'-----------------------
'
Sub AbortAction()
    ShowLoggingError DllAbortAction(), LogErrFatal
End Sub

'-----------------------
' SUB: AddActionNote
'
' Adds an note which will be written to the log file
' immediately following the current action
'添加一个注释将被写入到日志文件
'
'紧跟当前的行动
'-----------------------
'
Sub AddActionNote(ByVal strNote As String)
    ShowLoggingError DllAddActionNote(strNote), LogErrOK
End Sub

'-----------------------
' SUB: ChangeActionKey
'
' Changes the key of the current action.
改变行动的关键

'

'“更改当前行动的关键。
'-----------------------
'
Sub ChangeActionKey(ByVal strNewKey As String)
    ShowLoggingError DllChangeActionKey(strNewKey), LogErrFatal
End Sub

'-----------------------
' SUB: CommitAction
'
' Marks the successful completion of the current action.
' The action will be output to the log file.
'表示当前行动的成功完成?
'
'的行动将被输出到日志文件
'-----------------------
'
Sub CommitAction()
    ShowLoggingError DllCommitAction(), LogErrFatal
End Sub

'-----------------------
' SUB: DisableLogging
'
' Disables application removal logging.  All logging
' functions can still be called, and must still be
' symentically correct, but no data will be written to disk.
'禁用删除应用程序日志。所有的日志功能仍然可以被称为,
'和仍然必须symentically正确,但没有将数据写到磁盘。
'-----------------------
'
Sub DisableLogging()
    ShowLoggingError DllDisableLogging(), LogErrFatal
End Sub

'-----------------------
' SUB: EnableLogging
'
' Enables application setup/removal logging to the specified logfile
'使应用程序的安装/删除记录到指定的日志文件
'-----------------------
'
Sub EnableLogging(ByVal strLogFileName As String)
    ShowLoggingError DllEnableLogging(strLogFileName), LogErrFatal
End Sub

'-----------------------
' SUB: LogError
'
' Logs an error to the logfile.  The action is NOT aborted.
'日志错误日志文件。动作不中止
'-----------------------
'
Sub LogError(ByVal strErr As String)
    ShowLoggingError DllLogError(ResolveResString(resLOG_ERROR), ResolveResString(resLOG_DURINGACTION), strErr), LogErrFatal
End Sub

'-----------------------
' SUB: LogWarning
'
' Logs a warning to the logfile.  The action is NOT aborted.


' Warnings are different from errors in that generally
' warnings are not brought to the end user's attention.
' Also, the bootstrapper does not ever log warnings.  It only
' logs errors.
'
' The logging of warnings can be turned off by changing the
' value of fLOG_WARNINGS in the declarations section of this
' module.
'日志日志警告?动作不中止?
'
'警告是不同于错误的一般
'
'警告没有引起用户的注意?
'
'同时,引导程序没有日志警告。I
'
'记录错误?
'
'警告日志可以关闭通过改变
'
'对flog_warnings在此声明段值
'-----------------------
'
Sub LogWarning(ByVal strWarning As String)
    If fLOG_WARNINGS Then
        ShowLoggingError DllLogWarning(ResolveResString(resLOG_WARNING), ResolveResString(resLOG_DURINGACTION), strWarning), LogErrFatal
    End If
End Sub

'-----------------------
' SUB: LogNote
'
' Logs a note to the logfile.  It is not necessary to have
' a current action in order to execute this subroutine.
'日志记录到日志文件。这是没有必要为了执行这个程序有一个动作电流。
'-----------------------
'
Sub LogNote(ByVal strNote As String)
    ShowLoggingError DllLogNote(strNote), LogErrOK
End Sub

'-----------------------
' SUB: NewAction
'
' Marks the start of a new action for logging.  If this
' routine is called before any current action is committed
' or aborted, the previous action will be placed
' on a stack.  Once the new action has been committed or
' aborted, the previous action will become active again.
' The reporting of errors, warnings, notes and action
' results are not printed until the action aborts or
' commits.
' Several actions may be stacked in a first-in-first-out
' manner by calling this routine repeatedly.
'标志着一个新的行动开始记录?如果这
'
'常规是之前的任何现有的行动承诺称为
'
'或中止,之前的动作将放
'
'一堆?一旦新的行动已提交或
'
'中止,之前的动作将变得活跃起来。
'
'错误,警告报告,记录和行动
'
'结果不到行动中止或印刷
'
'犯?
'
'几个动作可以堆叠在一个先入先出
'
'通过调用这个例程反复地?
'-----------------------
[解决办法]

引用:
请写过log文件的老鸟赐教如何应用啊。

.........

这些干吗要看别人如何写?

难道软件的“log文件”规定了格式的么?有现成的规范和应用接口么?



[解决办法]
只是一个日志文档而已, 你直接用TXT文本方式把记录添加进入即可.
没必要那么多代码

热点排行