[Go 语言社区] Golang架构底层---日志函数

服务器后台架构,日志是必不可少的一个功能模块,日志可以分为很多中:统计日志,访问日志,错误日志等

今天大家发是运行中的日志函数

// 日志函数,传入数据为字符串
func Log(data string, data1 ...string) {
    var datatmp string
    datatmp = data
    for _, data1 := range data1 {
        datatmp = datatmp + data1
    }
    var path string
    if os.IsPathSeparator('\\') { //前边的判断是否是系统的分隔符
        path = "\\"
    } else {
        path = "/"
    }
    dir, _ := os.Getwd()                     // 获取当前的程序路径
    os.MkdirAll(dir+path+"log", os.ModePerm) //生成多级目录
    //创建日志文件
    t := time.Now()
    filepath := "./log/access_run_" + FilePort + t.Format("2006-01-02") + ".txt"
    _, err := os.Stat(filepath)
    var file *os.File
    var sTmp string
    if err != nil {
        file, err = os.Create(filepath)
        defer file.Close()
    } else {
        file, err = os.OpenFile(filepath, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0666)
        defer file.Close()
    }
    sTmp = strings.Replace(t.String()[:19], ":", ":", 3) + ":  " + datatmp + "\r\n"
    file.WriteString(sTmp)
}

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2016-03-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木宛城主

ASP.NET那点不为人知的事(三)

有了以下的知识: ASP.NET那点不为人知的事(一) ASP.NET那点不为人知的事(二) 想必开发一个小型服务器以不是问题了,功能补复杂,能够响应...

21790
来自专栏c#开发者

如何给DataGrid添加自动增长列

如何给DataGrid添加自动增长列 我想我们都知道在数据库中如何添加自增长列,我们可以将这个自增长列绑定到DataGrid上使得用户方便的知道现在是第几行,今...

442100
来自专栏烙馅饼喽的技术分享

我的CMS开发记-5 实现静态化页

      为了实现静态化页,我在博客园里可是搜了半天。最后找到两个方案:  http://www.cnblogs.com/hsqzzzl/archive/20...

379100
来自专栏王清培的专栏

Redis 数据结构与内存管理策略(下)

Redis 数据结构与内存管理策略(下) 标签: Redis Redis数据结构 Redis内存管理策略 Redis数据类型 Redis类型映射 作者:王清培...

34480
来自专栏程序员的SOD蜜

常见.NET功能代码汇总

1,在Web上修改指定文件位置的Web.config 这里需要使用 WebConfigurationManager 类,但必须使用WebConfiguratio...

459100
来自专栏菩提树下的杨过

关于Membership/Role您可能不知道的细节

1.关于System.Web.Security.Membership.ValidateUser("username", "password") 每次调用这个时,...

197100
来自专栏逸鹏说道

EF批量操作数据与缓存扩展框架

在原生的EF框架中,针对批量数据操作的接口有限,EF扩展框架弥补了EF在批量操作时的接口,这些批量操作包括:批量修改、批量查询、批量删除和数据缓存,如果您想在E...

48360
来自专栏GreenLeaves

WCF系列教程之WCF客户端调用服务

1、创建WCF客户端应用程序需要执行下列步骤 (1)、获取服务终结点的服务协定、绑定以及地址信息 (2)、使用该信息创建WCF客户端 (3)、调用操作 (4)、...

23990
来自专栏张善友的专栏

自定义AuthorizeAttribute

网站的权限判断是一个非常普遍的需求,从文章ASP.NET MVC的Action Filter中我们知道实现这样的需求只要从AuthorizeAttribute集...

266100
来自专栏木宛城主

SharePoint 创建 Lookup 类型的Site Column解决跨站问题

在某些情况下,我们需要去引用其他List中的数据,比如在网站集(Site Collection)上有个List叫Country,在其子网站(WebSite)有...

25490

扫码关注云+社区

领取腾讯云代金券