Syntax
报告日志文件的状态
log
log query [logname | _all]
打开日志文件
log using filename [, append replace [text|smcl] name(logname) nomsg]
关闭日志
log close [logname | _all]
暂时挂起日志记录或恢复日志记录
log {off|on} [logname]
报告命令日志文件的状态
cmdlog
打开命令日志文件
cmdlog using filename [, append replace]
关闭命令日志,暂时挂起日志记录或恢复日志记录
cmdlog {close|on|off}
设置日志的默认格式
set logtype {text|smcl} [, permanently]
指定屏幕宽度
set linesize #
除了使用log命令之外,您还可以通过从菜单中选择File> Log并选择列表中的一个选项来访问日志功能。
Description
log及其子命令告诉Stata打开日志文件,并创建一个记录,显示你输入的内容以及结果窗口中显示的任何输出,暂停或恢复日志记录,检查日志记录状态以及关闭日志文件。
默认格式是Stata标记和控制语言(SMCL),但也可以是纯文本。一次最多可以打开五个SMCL和五个文本日志。
cmdlog及其子命令与log类似,但创建的命令日志仅记录您键入的内容,并且只能是纯文本。 您可以只在一个时间设置logtype打开一个命令日志,并设置linesize是控制与日志相关的系统参数的命令。
Options for use with both log and cmdlog
append: 指定将结果追加到现有文件中。如果文件不存在,将创建一个新文件。
replace: 指定文件名(如果已经存在)被覆盖。当您没有指定替换或追加时,该文件被认为是新的。如果指定的文件已经存在,则会发出错误消息,并且不会启动日志记录。
Options for use with log
text and smcl:指定记录日志的格式。默认值描述起来很复杂,但却是您所期望的:
如果将文件指定为filename.smcl,则默认为以SMCL格式写入日志(无论set logtype的值如何)。
如果您将文件指定为filename.log,默认情况下是以文本格式写入日志(不管设置日志类型的值如何)。
如果键入不带扩展名的filename并且既未指定smcl选项也未指定text选项,则默认为根据set logtype的值写入文件。 如果尚未设置logtype,则默认为SMCL。 此外,如果正在创建SMCL日志,则指定的文件名将固定为读取filename.smcl;如果正在创建文本日志,则将修复为filename.log。
如果您指定text or smcl选项,那么您指定的内容将决定如何写入日志。如果指定的文件名没有扩展名,则会为您添加适当的扩展名。
如果打开多个日志文件,则可以为每个文件选择不同的格式。
name(logname): 指定可用于在日志打开时引用日志的可选名称。 您可以启动多个日志文件,为每个日志文件指定一个不同的日志名称,然后逐个关闭,暂时挂起或恢复它们。 默认日志名称为
nomsg: 禁止显示日志文件顶部和底部的默认消息。 此消息由日志名称(如果在name()中指定,否则为未命名),日志路径,日志类型以及打开或关闭的日期组成。
Option for use with set logtype
永久指定除了立即进行更改外,还要记住日志类型设置,并在调用Stata时成为默认设置。
Remarks
完整日志是一个文件,其中包含您键入的内容以及结果窗口中显示的Stata输出。 要开始记录会话,请使用filename键入log。 如果filename包含嵌入的空格,请记住将其用双引号括起来。
当默认日志格式为SMCL时,如果指定了没有文件名,则log将添加扩展名.smcl。 如果指定了文本或将默认日志类型更改为文本,则日志会添加扩展名.log。
我们建议使用SMCL,因为它保留了字体和颜色。 可以从查看器窗口查看和打印SMCL日志,任何文本文件也可以; 见[R]视图。 控制台Stata的用户可以使用translate来生成可打印版本的日志文件。 translate还可以将SMCL日志转换为文本或其他格式,例如PostScript或PDF; 见[R]翻译。
Examples
. log using mylog
. log close
. log using mylog, append
. log close
. log using "filename containing spaces"
. log using firstfile, name(log1) text
. log using secondfile, name(log2) smcl
. log using thirdfile, name(log3) smcl
. log query _all
. log close log1
. log close _all
Stored results
log and cmdlog store the following in r():
Macros
r(name) logname
r(filename) name of file
r(status) on or off
r(type) smcl or text
log query _all stores the following in r():
Scalars
r(numlogs) number of open log files
For each open log file, log query _all also stores
Macros
r(name#) logname
r(filename#) name of file
r(status#) on or off
r(type#) smcl or text
where # varies between 1 and the value of r(numlogs). Be aware that # will not necessarily represent the order in which the log files were first opened, nor will it necessarily remain constant for a given log file upon multiple calls to log query.
help log
*------------------------------------开始记录-------------
cap log close
log using mypaper.log, text replace
*-调入数据
use "fullauto.dta", clear
*-Table 1
tabstat price weight length mpg foreign
*-Table 2
pwcorr price weight length mpg foreign
*-Table 3
reg price weight length mpg foreign
est store m0
reg price weight length mpg if foreign==1
est store m_f
reg price weight length mpg if foreign==0
est store m_d
esttab m0 m_f m_d, mtitle("All Foreign Domestic") ///
b(%4.3f) nogap compress replace ///
s(N r2_a) star(* 0.1 ** 0.05 *** 0.01)
log close //
*------------------------------------结束记录------------
shellout mypaper.log