package main

import (
"os"
"errors"
"math/rand"
"time"
"log"
"strconv"
) func init() {
rand.Seed(time.Now().Unix())
file := "/www/logs/test.log";
logFile, err := os.OpenFile(file, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0766)
if err != nil {
panic(err)
}
log.SetOutput(logFile) // 将文件设置为log输出的文件
log.SetPrefix("[elk-test]")
log.SetFlags(log.LstdFlags | log.Lshortfile | log.LUTC)
} func main() { for {
go func() {
strs := []string{"浏览页面", "评论商品", "加入收藏", "加入购物车", "提交订单", "使用优惠券", "领取优惠券", "搜索", "查看订单"} a, _ := Random(strs, 1) now := time.Now()
date := now.Format("2006-01-02 15:04:05") userId := rand.Intn(10000) result := "brady|" +strconv.Itoa(userId+1) + "|" + a + "|" + date; log.Println(result) // log 还是可以作为输出的前缀
}() time.Sleep(1*time.Second)
} } func Random(strings []string, length int) (string, error) {
if len(strings) <= 0 {
return "", errors.New("the length of the parameter strings should not be less than 0")
} if length <= 0 || len(strings) <= length {
return "", errors.New("the size of the parameter length illegal")
} for i := len(strings) - 1; i > 0; i-- {
num := rand.Intn(i + 1)
strings[i], strings[num] = strings[num], strings[i]
} str := ""
for i := 0; i < length; i++ {
str += strings[i]
}
return str, nil
}

  

结果

p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1); background-color: rgba(255, 255, 255, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }

[elk-test]2020/07/05 01:10:22 main.go:42: brady|1203|加入收藏|2020-07-05 09:10:22

[elk-test]2020/07/05 01:10:23 main.go:42: brady|6144|领取优惠券|2020-07-05 09:10:23

[elk-test]2020/07/05 01:10:24 main.go:42: brady|7903|提交订单|2020-07-05 09:10:24

[elk-test]2020/07/05 01:10:25 main.go:42: brady|9768|领取优惠券|2020-07-05 09:10:25

[elk-test]2020/07/05 01:10:26 main.go:42: brady|6031|查看订单|2020-07-05 09:10:26

[elk-test]2020/07/05 01:10:27 main.go:42: brady|7422|评论商品|2020-07-05 09:10:27

[elk-test]2020/07/05 01:10:28 main.go:42: brady|497|查看订单|2020-07-05 09:10:28

[elk-test]2020/07/05 01:10:29 main.go:42: brady|6295|搜索|2020-07-05 09:10:29

[elk-test]2020/07/05 01:10:30 main.go:42: brady|7660|搜索|2020-07-05 09:10:30

[elk-test]2020/07/05 01:10:31 main.go:42: brady|1622|加入购物车|2020-07-05 09:10:31

[elk-test]2020/07/05 01:10:32 main.go:4

go 不停模拟 写日志的更多相关文章

  1. 蓝桥杯-写日志-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  2. python语言(六)mock接口开发、发邮件、写日志、新Excel操作

    一.urllib模块 urllib模块是一个标准模块,直接import urllib即可,在python3里面只有urllib模块,在python2里面有urllib模块和urllib2模块. url ...

  3. java实现第五届蓝桥杯写日志

    写日志 写日志是程序的常见任务.现在要求在 t1.log, t2.log, t3.log 三个文件间轮流 写入日志.也就是说第一次写入t1.log,第二次写入t2.log,... 第四次仍然 写入t1 ...

  4. .NET Core的日志[5]:利用TraceSource写日志

    从微软推出第一个版本的.NET Framework的时候,就在“System.Diagnostics”命名空间中提供了Debug和Trace两个类帮助我们完成针对调试和跟踪信息的日志记录.在.NET ...

  5. [转]ASP.NET Core 开发-Logging 使用NLog 写日志文件

    本文转自:http://www.cnblogs.com/Leo_wl/p/5561812.html ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 . ...

  6. Spring 使用 SLF4J代替 Commons Logging 写日志 异常

    项目的日志更换成slf4j和logback后,发现项目无法启动.错误提示 Caused by: java.lang.NoClassDefFoundError: Lorg/apache/commons/ ...

  7. 程序员的修养 -- 如何写日志(logging)

      在程序中写日志是一件非常重要,但是很容易被开发人员忽视的地方.写好程序的日志可以帮助我们大大减轻后期维护压力. 在实际的工作中,开发人员往往迫于的巨大时间压力,而写日志又是一个非常繁琐的事情,往往 ...

  8. winston写日志(译)

    使用 有两种方式去使用winston,直接通过默认的logger,或者实例化自己的Logger,前者设计的目的是在你的应用程序中共享logger比较方便. 使用默认Logger 使用默认的logger ...

  9. ASP.NET Core 开发-Logging 使用NLog 写日志文件

    ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 .NET Core 和 ASP.NET Core . ASP.NET Core已经内置了日志支持,可以 ...

随机推荐

  1. ui自动化--鼠标操作ActionChains

    需要先引入鼠标操作模块:from selenium.webdriver.common.action_chains import ActionChains 实际上ActionChains这个模块的实现的 ...

  2. path.resolve和path.join的区别

    // test.js const path = require('path') let x1 = path.resolve('/目录1/目录2', '/目录3/目录4/') let x2 = path ...

  3. 查看windows和linux下端口是否被占用

    1.windows cmd输入netstat -ano |findstr "端口号" 查看到1202端口被使用的进程PID是10692 输入tasklist |findstr 10 ...

  4. SpringBoot写后端接口,看这一篇就够了!

    摘要:本文演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有了规范,同时再构建新的后端接口也会十分轻松. 一个后端接口大致分为四个部分组成:接口地址(url).接口请求方式(get.post等 ...

  5. [LeetCode] 17. 电话号码的字母组合(回溯)

    题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[& ...

  6. [HDOJ1232]畅通工程(并查集)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1232 题目描述 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表, ...

  7. [算法题]最小m划分(划分DP)

    题目描述 给定 n 个整数组成的序列,将序列分割为 m 段,如何分割才能使这 m 段子序列的和的最大值达到最小? 题解 状态表示 dp[i][j]表示前i个元素划分j段 子序列和的最大值的最小值 状态 ...

  8. Nginx反代MogileFS集群

    上一篇博文我们主要聊了下分布式文件系统MogileFS的组件以及部署使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13677279.html:今天我们主要 ...

  9. Java审计之命令执行篇

    Java审计之命令执行篇 0x00 前言 在Java中能执行命令的类其实并不多,不像php那样各种的命令执行函数.在Java中目前所知的能执行命令的类也就两种,分别是Runtime和 ProcessB ...

  10. Spring Cloud Alibaba生态探索:Dubbo、Nacos及Sentinel的完美结合

    @ 目录 背景 一.项目框架 1.1 采用IDEA和Maven多模块进行项目搭建 1.2 模块管理及版本管理 二.微服务公共接口 2.1 定义一个公共接口Api 2.2 pom.xml 2.3 Goo ...