Go语言:设置日志保存到日志文件

package main

import (
    "log"
    "os"
)

func init() {
    // 获取日志文件句柄
    // 以 只写入文件|没有时创建|文件尾部追加 的形式打开这个文件
    logFile, err := os.OpenFile(`./日志文件.log`, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
    if err != nil {
        panic(err)
    }
    // 设置存储位置
    log.SetOutput(logFile)
}

func main() {
    log.Println(`今天我学会了输出日志到日志文件`)
    log.Println(`然后我就试了一下`)
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
题目名称 linux实验-基本指令1 题目关键字 linux实验-基本指令1 题目录入时间 2013-4-1 22:36:02 题目内容 1、root帐号登录,查看/tmp目录,如果/tmp目录下没有子目录myshare,则建立该目录。 2、创建帐号testuser。 3、把myshare目录及其目录下的所有文件和子目录的拥有者该为testuser,工作组改为users。 4、切换至testuser帐号。进入/tmp/myshare目录,采用vim编辑器编写以上程序,程序名称为hello.sh: #!/bin/bash echo "app start" echo -e func (){ echo "hello world!" } func echo -e echo "app end" 5、保存hello.sh后,给予hello.sh拥有者可读、可写和可执行的权限,同组可读可执行,其他人可执行权限。 6、输入./hello.sh,观察程序输出的效果。 7、进入testuser的用户主目录,在这个目录下创建hello.sh的软链接,同时拷贝hello.sh到该目录下并改名为hello.sh.bak,要求拷贝时保留文件属性值。 8、退出testuser帐号,回到root帐号,从/开始查找后缀名为.conf的所有文件,把输出结果重定向到testuser帐号的主目录下的output.txt文件。 9、在上一步操作的.conf文件中找出文件容量最大的和最小那个,并把这两个文件的容量大小输出到output.txt文件中。 10、统计出系统中有多少个用户帐号,把数量输出到output.txt文件中。 11、把output.txt文件转换为windows记事本可正规打开的格式。 12、tar打包压缩testuser帐号主目录下的所有文件。 13、用U盘把上一步打包压缩文件拷贝到U盘上。 14、执行userdel -r testuser,执行rm -fr myshare 题目创建人 题目注释 把打包压缩文件提交即可。 题目名称 linux-课题练习1 题目关键字 linux-课题练习1 题目录入时间 2013-4-15 12:21:53 题目内容 1、创建组testgroup; 2、创建用户a2012,先采用默认设置创建,然后使该用户加入testgroup组。 3、创建用户a2013,其用户主目录为/tmp/a2013,其主组为testgroup,附加组为users。 4、用id命令显示a2012和a2013用户信息,并且把这些信息记录到日志文件/tmp/test.log中。 5、参考书本98-99页crontab命令内容,使用root执行crontab -e,编写时程表,完成每隔5分钟把当前时间追加进/tmp/test.log中。 6、执行crontab -l,把输出内容追加进/tmp/test.log。 7、待完成2次时间记录追加后,执行crontab -r删除当前的时程表。 8、把/tmp/test.log拷贝到windows中(注意文本格式的转换),采用记事本打开,看是否看到完整内容。 题目创建人 题目注释 课题练习,做完后直接把test.log文件提交上来。 题目名称 linux课后作业1 题目关键字 linux课后作业1 题目录入时间 2013-5-6 10:23:32 题目内容 完成课本实验6第一题:菜单驱动程序。 题目创建人 题目注释 本题为当天提交,把程序文件以附件形式提交即可。 题目名称 linux shell程序设计实验1 题目关键字 linux shell程序设计实验1 题目录入时间 2013-5-6 10:25:36 题目内容 完成课本实验6的第2题,要有输入错误处理。 题目创建人 题目注释 把程序文件以附件形式提交即可。 题目名称 linux shell程序设计实验2 题目关键字 linux shell程序设计实验2 题目录入时间 2013-5-6 10:26:43 题目内容 按要求完成课本实验7。 题目创建人 题目注释 把3个程序文件打包提交即可。 题目名称 linux gcc实验 题目关键字 linux gcc实验 题目录入时间 2013-5-20 14:27:52 题目内容 课本实验8第2题 题目创建人 题目注释 请提交Makefile文件 题目名称 Linux下MYSQL操作 题目关键字 MYSQL实验 题目录入时间 2015-4-15 11:19:01 题目内容 1、在Linux下检查是否有mysql,如果没有,请安装。版本上必须是5.5以上,越新越好! 2、在mysql下创建数据库,名称为 testdb,内有表 linuxtest,表字段如下: userid (自己的学号),varchar 50,关键字 mysql_version (当前mysql版本号), varchar 50 linux_version (当前发行版的uname -a 返回值),varchar 100 eth0_HW (eth0物理地址),varchar 50 3、insert对应的数据到表 linuxtest 4、导出该数据库的sql文件,命名为 学号.sql 5、提交该sql文件 题目创建人 题目注释 题目名称 Linux网络实验1-wget+lynx 题目关键字 Linux网络实验1-wget+lynx 题目录入时间 2015-4-20 21:46:19 题目内容 1、让你的linux接入互联网,如果你是虚拟机安装,可以采用桥接本地网卡的方式上网(课堂上有介绍该方法)。如果你是独立安装linux请自行解决。配置好IP地址和网关,DNS设置两个(8.8.8.8和114.114.114.114)。 2、已root登录系统,创建目录webtest,进入webtest目录,分别把ifcfg-eth0文件及resolv.conf文件内容追加至result.txt,。 3、执行echo "1234567890这是分隔线0987654321" >> result.txt traceroute www.scau.edu.cn >> result.txt 4、执行wget http://www.baidu.com 5、以源码方式安装lynx 官方网站:http://lynx.isc.org/ 下载地址:http://lynx.isc.org/current/ 请选择最新版本 安装示例: wget http://lynx.isc.org/current/lynx2.8.8rel.2.tar.gz 解压lynx2.8.8rel.2.tar.gz 进入解压后的目录 依次执行 ./configure make make install 6、echo "1234567890这是分隔线0987654321" >> result.txt 7、执行whereis lynx >> result.txt 8、echo "1234567890这是分隔线0987654321" >> result.txt 9、lynx -dump http://www.baidu.com >> result.txt 10、提交result.txt文件 题目创建人 题目注释 题目名称 GTK+实验 题目关键字 GTK+实验 题目录入时间 2015-5-24 13:47:12 题目内容 GTK+实验,完成课本实验9,最后打包上传(程序源代码+可运行文件) 题目创建人 题目注释 题目名称 决战Linux(1) 题目关键字 LAMP LNMP 题目录入时间 2015-4-28 22:16:03 题目内容 在LAMP、LNMP等环境下,任意挑选下列2种或以上动态网页语言,写出一个页面,读取MYSQL实验中的数据表数据。 (PHP,JSP,Perl,Python,Ruby,Go,ASP.NET) 注意:不同的动态网页语言,所要求的具体环境有可能不同,需要自行搭建。 该实验为综合性实验,最终需要提交综合性实验报告。报告提纲大致如下: 1、实验步骤描述(有图有真像) (1)第一种动态语言 a、实验环境描述 b、系统架构图 c、相关配置总结 d、核心代码总结 e、页面效果截图 (2)第二种动态语言 (3)第三种动态语言 以下同。 2、实验总结(有对比有分析有感想) 题目创建人 题目注释
网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。   Bootcfg   bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。   含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。   用法:   bootcfg /default  设置默认引导项。   bootcfg /add    向引导列表中添加 Windows 安装。   bootcfg /rebuild  重复全部 Windows 安装过程并允许用户选择要添加的内容。   注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。   bootcfg /scan    扫描用于 Windows 安装的所有磁盘并显示结果。   注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。   bootcfg /list   列出引导列表中已有的条目。   bootcfg /disableredirect 在启动引导程序中禁用重定向。   bootcfg /redirect [ PortBaudRrate] |[ useBiosSettings]   在启动引导程序中通过指定配置启用重定向。   范例: bootcfg /redirect com1 115200 bootcfg /redirect useBiosSettings   hkdsk   创建并显示磁盘的状态报告。Chkdsk 命令还可列出并纠正磁盘上的错误。   含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 chkdsk 命令。   vol [drive:] [ chkdsk [drive:] [/p] [/r]   参数  无   如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。 drive: 指定要 chkdsk 检查的驱动器。 /p   即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。 /r   找到坏扇区并恢复可读取的信息。隐含着 /p 参数。   注意 Chkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart   创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。   diskpart [ /add |/delete] [device_name |drive_name |partition_name] [size]   参数 无   如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。   /add   创建新的分区。   /delete   删除现有分区。   device_name   要创建或删除分区的设备。设备名称可从 map 命令的输出获得。例如,设备名称:   DeviceHardDisk0   drive_name   以驱动器号表示的待删除分区。仅与 /delete 同时使用。以下是驱动器名称的范例:   D:   partition_name   以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 /delete 同时使用。以下是分区名称的范例:   DeviceHardDisk0Partition1    大小   要创建的分区大小,以兆字节 (MB)表示。仅与 /add 同时使用。   范例   下例将删除分区: diskpart /delete Device HardDisk0 Partition3 diskpart /delete F:   下例将在硬盘上添加一个 20 MB 的分区:   diskpart /add Device HardDisk0 20   Fixboot
下面是一个保存 JSON 文件的示例代码: ```go package main import ( "encoding/json" "fmt" "io/ioutil" ) type Person struct { Name string `json:"name"` Age int `json:"age"` Hobbies []string `json:"hobbies"` } func main() { // 创建一个结构体实例 person := Person{ Name: "Alice", Age: 30, Hobbies: []string{"reading", "traveling"}, } // 将结构体实例转换为 JSON 格式的字节数组 jsonBytes, err := json.Marshal(person) if err != nil { fmt.Println("Failed to convert person to JSON: ", err) return } // 将 JSON 格式的字节数组写入文件 err = ioutil.WriteFile("person.json", jsonBytes, 0644) if err != nil { fmt.Println("Failed to save person to file: ", err) return } fmt.Println("Person saved to file.") } ``` 首先,我们定义了一个 `Person` 结构体,包含名称、年龄和爱好。结构体的字段上使用了 `json` 标签,指定了结构体字段与 JSON 对象中的键名的对应关系。 接下来,在 `main` 函数中,我们创建了一个 `Person` 结构体实例,并将其转换为 JSON 格式的字节数组。使用 `json.Marshal` 函数可以将结构体实例转换为 JSON 格式的字节数组,如果转换失败会返回一个错误。 最后,我们将 JSON 格式的字节数组写入文件,使用了 `ioutil.WriteFile` 函数,该函数接收文件名、字节数组和权限标志。如果写入文件失败,函数会返回一个错误。 执行以上代码后,文件 `person.json` 将保存以下内容: ```json {"name":"Alice","age":30,"hobbies":["reading","traveling"]} ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值