C++、C#、VB各语言日志代码

摘要:
1、 VB语言,开发工具VB6.0 PrivateSubAppendToFile(ByValfnAsString,ByValmsgAsString)DimlFileHandleAsLonglFileHandle=FreeFileOnErrorGoToAppend_ErrorOpenfnForAppendAs#lFileHandlePrint#lFileHandle,msgClose#lFileHand

一、VB语言,开发工具VB6.0

C++、C#、VB各语言日志代码第1张C++、C#、VB各语言日志代码第2张
Private Sub AppendToFile(ByVal fn As String, ByVal msg As String)
    Dim lFileHandle As Long
    lFileHandle = FreeFile
    On Error GoTo Append_Error
    Open fn For Append As #lFileHandle
    Print #lFileHandle, msg
    Close #lFileHandle
    Exit Sub
Append_Error:
End Sub
日志1
C++、C#、VB各语言日志代码第3张C++、C#、VB各语言日志代码第4张
Private Function WriteLog(ByVal strLog As String)
    Dim strFileName As String    
    strFileName = "C:Log" & VBA.Format(Now, "yyyymmdd") & ".txt"
    Open strFileName For Append As 1
    Write #1, Now & " " & strLog
    Close    
End Function
日志2
C++、C#、VB各语言日志代码第5张C++、C#、VB各语言日志代码第6张
Public Sub WriteLogFile(ByVal msg As String)
    Dim lFileHandle As Long
    Dim sFile As String
    On Error Resume Next
    sFile = App.Path & "XX.log"
    lFileHandle = FreeFile
    On Error GoTo Append_Error
    Open sFile For Append As #lFileHandle
    Print #lFileHandle, Now & "  " & msg
    Close #lFileHandle
    Exit Sub
Append_Error:
End Sub
日志3
C++、C#、VB各语言日志代码第7张C++、C#、VB各语言日志代码第8张
--限制大小、天数的日志
Public Sub WriteFileLog(ByVal vValue As String)
    Dim lHandle As Long
    Dim sPath As String
    Dim i As Long
    Dim sFilename As String
    
    On Error Resume Next
    
    lHandle = FreeFile()
    sPath = App.Path & "Log"    
    If Dir(sPath, vbDirectory) = "" Then
        MkDir sPath
    End If    
    '删除超过10天的日志
    For i = -20 To -10
        sFilename = sPath & "XX" & Format(DateAdd("d", i, Date), "YYYYMMDD") & ".log"
        If Dir(sFilename) <> "" Then
            Kill sFilename
        End If
    Next
    sPath = sPath & "XX" & Format(Date, "YYYYMMDD") & ".log"
    
    If Dir(sPath) <> "" Then
        '大于500K,就删除,以免影响性能
        If FileLen(sPath) / 1024 > 500 Then
            Kill sFilename
        End If
    End If
    Open sPath For Append As #lHandle
    Print #lHandle, Format(Now, "YYYY-MM-DD HH:mm:ss") & vbTab & vValue & vbCrLf
    Close #lHandle
End Sub
日志4

二、C++语言,开发工具VC6.0

C++、C#、VB各语言日志代码第9张C++、C#、VB各语言日志代码第10张
void CNoteCtrl::WriteLog(CString &csInfo)
{
    return ;
    HANDLE hFile = INVALID_HANDLE_VALUE;
    CString cstmp;
    TCHAR *szFileName = _T("c:\XX.log");
    hFile = CreateFile(szFileName,
                    GENERIC_WRITE,
                    FILE_SHARE_WRITE,
                    NULL,
                    OPEN_ALWAYS,
                    FILE_ATTRIBUTE_NORMAL,
                    NULL);
    if(hFile == INVALID_HANDLE_VALUE)
    {
        cstmp.Format("open log file err %d
",GetLastError());
        AfxMessageBox(cstmp);
        return ;
    }
    else
    {
        DWORD dwWriteLen = 0 ;
        SetFilePointer(hFile,0,0,FILE_END);
        if(WriteFile(hFile,csInfo.GetBuffer(csInfo.GetLength()),csInfo.GetLength(),&dwWriteLen,NULL) == 0)
        {
            cstmp.Format("write log file err %d
",GetLastError());
            AfxMessageBox(cstmp);
            CloseHandle(hFile);
            return ;
        }
        CloseHandle(hFile);
    }
}
日志1
C++、C#、VB各语言日志代码第11张C++、C#、VB各语言日志代码第12张
void CServerThreadPool::WriteLog(LPCTSTR pFormat, ...)
{

        TCHAR chMsg[512];
        chMsg[0] = 0;

        SYSTEMTIME st;
        GetLocalTime(&st);

        TCHAR szBuf[256];
        GetDateFormat(LOCALE_SYSTEM_DEFAULT, LOCALE_USE_CP_ACP, &st, _T("yyyy-MM-dd "), szBuf, 256);
        lstrcat(chMsg, szBuf);
        GetTimeFormat(LOCALE_SYSTEM_DEFAULT, LOCALE_USE_CP_ACP, &st, _T("HH:mm:ss "), szBuf, 256);
        lstrcat(chMsg, szBuf);

        va_list pArg;
        va_start(pArg, pFormat);
        _vstprintf(szBuf, pFormat, pArg);
        va_end(pArg);

        lstrcat(chMsg, szBuf);
        lstrcat(chMsg, _T("
"));
    
        if(GetModuleFileName(NULL, szBuf, 256))
        {
            LPTSTR p = _tcsrchr(szBuf, _T('\'));
            p[1] = 0;
            lstrcat(szBuf, _T("XX.log"));

            HANDLE hFile = CreateFile(szBuf, 
                            GENERIC_WRITE, 
                            FILE_SHARE_WRITE, 
                            NULL, 
                            OPEN_ALWAYS, 
                            FILE_ATTRIBUTE_NORMAL, 
                            NULL);

            if(hFile == INVALID_HANDLE_VALUE)
                return;

            SetFilePointer(hFile, 0, NULL, FILE_END);

            DWORD dwWrite;
            WriteFile(hFile, chMsg, lstrlen(chMsg) * sizeof(TCHAR), &dwWrite, NULL);

            CloseHandle(hFile);
        }    
}
日志2

三、C#语言,开发工具VS2010

C++、C#、VB各语言日志代码第13张C++、C#、VB各语言日志代码第14张
public void WriteLog(string Contents)
        {
            string strFilePath = AppDomain.CurrentDomain.BaseDirectory + "\XX.log";
            if (!File.Exists(strFilePath))
            {
                File.CreateText(strFilePath).Close();
            }
            File.AppendAllText(strFilePath, DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + ":" + Contents + Environment.NewLine, System.Text.Encoding.Default);
        }
日志1
C++、C#、VB各语言日志代码第15张C++、C#、VB各语言日志代码第16张
public static void WriteLog(string message)
        {
            string strFilePath = AppDomain.CurrentDomain.BaseDirectory + "\XX.log";
            if (!File.Exists(strFilePath))
            {
                File.CreateText(strFilePath).Close();
            }
            FileStream fs = new FileStream(strFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
            StreamWriter w = new StreamWriter(fs);
            w.BaseStream.Seek(0, SeekOrigin.End);
            w.WriteLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + ":" + message);
            w.Flush();
            w.Close();
        }
日志2

免责声明:文章转载自《C++、C#、VB各语言日志代码》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MySQL5.5 安装mcafee mysql-audit插件 不成功Android_照相机Camera_调用系统照相机返回data为空下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

基础篇:JAVA.Stream函数,优雅的数据流操作

前言 平时操作集合数据,我们一般都是for或者iterator去遍历,不是很好看。java提供了Stream的概念,它可以让我们把集合数据当做一个个元素在处理,并且提供多线程模式 流的创建 流的各种数据操作 流的终止操作 流的聚合处理 并发流和CompletableFuture的配合使用 关注公众号,一起交流,微信搜一搜: 潜行前行 1 stream的...

Java—视频处理

  原始视频通常需要经过编码处理,生成m3u8和ts文件方可基于HLS协议播放视频。通常用户上传原始视频,系统 自动处理成标准格式,系统对用户上传的视频自动编码、转换,最终生成m3u8文件和ts文件, 处理流程如下:   1、用户上传视频成功   2、系统对上传成功的视频自动开始编码处理   3、用户查看视频处理结果,没有处理成功的视频用户可在管理界面再次...

使用JDBC进行简单的增删改查

JDBC为java的基础。用jdbc实现对数据库的增删改查的功能是程序员的基本要求。本例以mysql为例,首先要使用本例需要添加mysql-connector-java-5.1.7-bin.jar包。专门用来加载jdbc的驱动。如果数据库为oracle,相应的jar包换为ojdbc6.jar。 通过下面的代码可以练习一下,掌握jdbc的使用方法,自己可以对...

通用对话框专辑(全)

通用对话框专辑(全)使用API调用Winodws各种通用对话框(CommonDiaglog)的方法(一)1.文件属性对话框 Type SHELLEXECUTEINFO cbSize As LongfMask As Longhwnd As LonglpVerb As StringlpFile As StringlpParameters As Stringlp...

HTTP metadata数据

信息元位置 信息元名称 信息元ID 信息元描述 1 MetadataVersion 5000 Metadata版本号 当前版本号为1.0 2 MetadataID 1019 MetadataID 3 sourceIPv4Address or sourceIPv6Address 8 or 27 源IP(IPv4或者IPv6)...

hive函数之~字符串函数

1、字符串长度函数:length 语法: length(string A)返回值: int说明:返回字符串A的长度 hive> selectlength('abcedfg') fromtableName; 7 2、字符串反转函数:reverse 语法: reverse(string A)返回值: string说明:返回字符串A的反转结果 h...