-
Notifications
You must be signed in to change notification settings - Fork 16
Config
重归混沌 edited this page May 10, 2018
·
4 revisions
Silly在启动时需要读取配置文件以便可以找到lua层代码的入口逻辑。
在命令行下输入 ./silly xxxx 即可完成silly的启动。
配置文件默认需要5个参数:
- daemon:配置'daemon=1'时,silly为作为守护进程进行,配置为'daemon=0'时,silly则以普通程序模式运行。
- bootstrap: 用来指定lua逻辑层的入口代码,silly运行后会首先加载bootstrap中指定的lua代码文件。
- lualib_path: 如果设置了此字段,silly在启动时会自动将配置的值追加到lua虚拟机中的package.path变量的值后面
- lualib_cpath: 如果设置了此字段, silly在启动时会自动配置的值追加到lua虚拟机中的package.cpath变量的值后面
- logpath: 当daemon配置为1时,stdout和stderr都会被重定向到一个log文件中,logapth的值用于指定这个log文件的输出目录,如果不进行配置,则默认为当前silly所在的目录。log文件名不可修改,名为silly.log。如果想要对log文件进行切分,可以使用logrotate工具来进行。当silly收到USR1信号时,会重新打开log文件,因此如果有需要,可以让logrotate在切分日志完成后,向silly进程发送USR1信号。
silly的core模块提供了一组访问接口:
core.envget(name)
core.envset(name, value)
core.envget可以用来获取配置文件中某个字段的值,core.envset可以用来修改配置文件中某个字段的值(需要注意的是:仅仅能修改加载到内存中的配置文件的值,并不会直接修改配置文件)。
这意味着逻辑代码也可以访问和这个配置文件中的任意值字段(包括除上述五个字段之外新加的任意字段)。
需要注意的是,因为silly会先加载配置文件,然后使用配置文件启动lua虚拟机。因此在lua层编写逻辑代码去修改上述五个字段的值并不会影响到silly的运行结果。