之前一直想找cocos 打印写log文件日志
因为之前一直都是控制台输出
后来自己也写了一个写log文件日志
公司项目里面也支持安卓写log文件日志
偶然发现quick 3.3 翻金币demo里面有debug.log文件
打开看了一下 发现就是把控制台输出到文件了
觉得挺不错
然后在3.10的框架里面找 没有发现
然后又翻底层
经过反向搜索文件名 发现
string ProjectConfig::getDebugLogFilePath() const
{
auto path(getProjectDir());
path.append("debug.log");
return path;
}
找到ProjectConfig
通过ProjectConfig在3.10的框架里面发现了命令行代码段
3.3代码
void ProjectConfig::parseCommandLine(const vector<string> &args)
{
...
else if (arg.compare("-write-debug-log") == 0) //开启写文件日志
{
setWriteDebugLogToFile(true);
}
else if (arg.compare("-disable-write-debug-log") == 0) //关闭写文件日志
{
setWriteDebugLogToFile(false);
}
...
}
3.10代码
//使用样例 -write-debug-log debug.log
void ProjectConfig::parseCommandLine(const vector<string> &args)
{
...
else if (arg.compare("-write-debug-log") == 0) //支持输入log文件名*it就是文件名
{
++it;
if (it == args.end()) break;
setDebugLogFilePath((*it));
setWriteDebugLogToFile(true);
}
...
}
发现命令行后 有4种方式可以配置
设置visul studio下项目的属性了:
右键项目 -> 属性 -> 配置属性 -> 调试 -> 命令参数 -> 编辑 -> 在后面加入 -write-debug-log $(ProjectDir)debug.log
然后就ok了注意 要空格哦!看到编辑里面原有的值,你就会豁然开朗……这里设置的这些值就是要传入mian函数的参数了,注意每个参数之间要空格,至于$(ProjectDir)debug.log 这个参数可以自定义,因为cocos代码中第一个字段是开关,然后*(++it)才是路径值.
这个方法我试过了 在vs里面运行有效 直接运行exe无效
而且路径需要你自己折腾
-workdir $(ProjectDir)../../../ -write-debug-log $(OutDir)../../../../simulator/win32/debug.log //输出到 XX/Debug.win32
-workdir $(ProjectDir)../../../ -write-debug-log $(ProjectDir)debug.log //输出到sln同级目录
-workdir $(ProjectDir)../../../ -write-debug-log debug.log //输出到exe同级目录建立start.bat批处理文件
文件内容
START FLuaFrame.exe -write-debug-log debug.log
其他样例
START FLuaFrame.exe -workdir %~dp0 -file src/main.lua -size 640x1136 -scale 0.8打开控制台 输入exe路径 后面带命令行参数
创建快捷方式 在快捷方式点击属性 后面带命令行参数