zoukankan      html  css  js  c++  java
  • fs_log

    #include "fs_log.h"
    
    void write_log (const char *format, ...)
    {
        va_list arg;
        int done;
        time_t time_log;
        struct tm* tm_log;
        FILE* pFile = NULL;
    #if LOG_HAVE_WINDOW_OUT
        char buff[300];
        int off = 0;
    #endif
        va_start (arg, format);
    
        time_log = time(NULL);
        tm_log = localtime(&time_log);
    
        pFile = fopen(LOG_FILE, "a");
    
        fprintf(pFile,"%04d-%02d-%02d %02d:%02d:%02d :",
            tm_log->tm_year + 1900, tm_log->tm_mon + 1, tm_log->tm_mday,
            tm_log->tm_hour, tm_log->tm_min, tm_log->tm_sec);
        done = vfprintf (pFile, format, arg);
        va_end (arg);
        fflush(pFile);
    
        fclose(pFile);
    
    #if LOG_HAVE_WINDOW_OUT
        memset(buff, 0, sizeof(buff));
        off = sprintf(buff, "%04d-%02d-%02d %02d:%02d:%02d [%s][%d]:",
            tm_log->tm_year + 1900, tm_log->tm_mon + 1, tm_log->tm_mday,
            tm_log->tm_hour, tm_log->tm_min, tm_log->tm_sec);
        sprintf(buff+off, format, arg);
        printf("%s",buff);
    #endif
    
        return;
    }
    
    void write_log_cond(char valve, char *file_nameconst, int len, char *format, ...)
    {
        va_list arg;
        int done;
        time_t time_log;
        struct tm* tm_log;
        FILE* pFile = NULL;
    #if LOG_HAVE_WINDOW_OUT
        char buff[300];
        int off = 0;
    #endif
    
        if (valve == 0)
        {
            return;
        }
        va_start (arg, format);
    
        time_log = time(NULL);
        tm_log = localtime(&time_log);
    
        pFile = fopen(LOG_FILE, "a");
    
        fprintf(pFile,"%04d-%02d-%02d %02d:%02d:%02d [%s][%d]:",
            tm_log->tm_year + 1900, tm_log->tm_mon + 1, tm_log->tm_mday,
            tm_log->tm_hour, tm_log->tm_min, tm_log->tm_sec,
            file_nameconst,len);
        done = vfprintf (pFile, format, arg);
        va_end (arg);
        fflush(pFile);
    
        fclose(pFile);
    
    #if LOG_HAVE_WINDOW_OUT
        memset(buff, 0, sizeof(buff));
        off = sprintf(buff, "%04d-%02d-%02d %02d:%02d:%02d [%s][%d]:",
            tm_log->tm_year + 1900, tm_log->tm_mon + 1, tm_log->tm_mday,
            tm_log->tm_hour, tm_log->tm_min, tm_log->tm_sec,
            file_nameconst,len);
        sprintf(buff+off, format, arg);
        printf("%s",buff);
    #endif
    
        return;
    }
    fs_log.h
    #include <stdio.h>
    #include <stdarg.h>
    #include <string.h>
    #include <time.h>
    
    #define LOG_FILE "./runlog.txt"
    #define LOG_HAVE_WINDOW_OUT     (1)
    
    #define SHORT_FILE strrchr(__FILE__, '\') ? strrchr(__FILE__, '\') + 1 : __FILE__
    #define LOG_DEBUG_SET_LEVLE(a)  (a),(SHORT_FILE),(__LINE__)
    
    #define print_deb    write_log
    #define print_info    write_log
    #define print_war    write_log
    #define print_err    write_log
    #define print_cond    write_log_cond
    
    extern void write_log (const char *format, ...);
    extern void write_log_cond (char valve, char *file_nameconst, int len, char *format, ...);
    
    #endif
    fs_log.h
  • 相关阅读:
    XML 使用例子(转)
    [转载]网游数据解释
    [转载]游戏引擎列表
    (转)XML 使用
    LuaPlus新手使用方法(转)
    [转载]很有参考意义的显卡性能排行榜
    (转)LuaPlus子表遍历
    (转)LuaPlus集成Lua脚本
    HTML5尝鲜(1):使用aduio标签打造音乐播放器
    oracle的rollup
  • 原文地址:https://www.cnblogs.com/mrsandstorm/p/9565854.html
Copyright © 2011-2022 走看看