咳咳,第四天开始,经理让我开始写代码了,给的是代码如下:
这段代码是在获取到未知的错误时打印错误信息,这个console.log()、console.info()、console.error()好像还有一个,他们之间的区别在以后应该会记录到,在这里就不想写了。
我需要做什么呢?就是在获取到这种信息的时候调用nodejs的api创建一个文件,将获取到的错误信息写入到到文件中去,在后面会用到这个文件什么的。
我在查阅nodejs对文件操作的时候首先看到的是
这样的一个对文件的操作,这里的‘a’表示在现有的文档的基础上添加内容,有很多的方法比如:'w' 'r' 等等,不同的参数对文件的处理方式也是不同的,在这里我也就不多说了。
参考这样的方式就在文件夹里的相对位置创建了一个uncaughtException.txt的文件,创建的位置是在该.js的文件上一个文件夹里,至于到底怎么实现的,我也不太清楚。
在创建了文件之后就是将err.stack信息存到文件中去,在查阅资料的时候看到有两种方式:fs.write(......)和fs.writeFile(......)两个方法,我开始的时候用的方法是前面一个,代码贴出来。
用了这个方法之后我发现.txt文件是可以创建的,但是文件里面没有存储内容!!!这个就尴尬了。到目前为止我也不知道为什么没有存进去,所以希望有知道的能给点提示了。
后来实在没办法,我只能换了一个方法,就是第二个fs.writeFile()方法,代码如下。
通过这个方式.txt里面测试后就有内容了。
好像到这里就应该算是完成了吧,我写到这里就来写这个文章了。
最后还是想说两句:刚毕业上班,在学习方面肯定有很大的不足,比如
1.对方法都不熟,如果下次遇到同样的问题,我还是会一边上网一边查的吧?
2.没有专研精神,对上面fs.write()方法为什么没有成功没搞明白也没有什么动力去弄明白
3.不会总结,对console.info()等方法,他们之间相互比较以及他们之间的区别也只是一知半解。
缺点太多,需要学习的地方更多,慢慢改掉自己的这些毛病,也希望大神能给小弟一点指示。在此谢过了
------------------------------------------分割线------------------------------------------
哼,我来改错了,上面写的代码是在fs.open()里面添加了fs.writefile()这个方法貌似可行,问题却很多:第一就是fs.open打开文件,然后fs.writefile又打开一遍是没有意义的,第二就是虽然在fs.open里面参数是'a'表示的是可以在文件原有的基础上添加内容,但是在fs.writefile里面却无法实现,这个方法会将原来文件里面的内容覆盖掉,这个是不可能满足要求的。
所以在查阅资料后使用了fs.appendfile()的方法,代码如下:
这个是需要将fs.open()删除的,测试过后是满足要求的。
先这样吧。