基本上,我想记录日志文件的抽象,而不是日志文件的具体实现。
场景:我将有几个工作启动批处理脚本,每个脚本都会在白天启动一个特定的流程。 Windows任务计划程序任务将用于触发批处理文件。
问题:我不想回应任务调度程序的日志文件(通过附加>> C:\LogFolder\log.txt
参数)或来自job-kickoff-batch-scripts本身(通过添加call :sub >> C:\LogFolder\log.txt
)以防日志文件夹的位置发生变化。
潜在解决方案:是否可以将日志数据回显到logging.bat
脚本而不是像log.txt
这样的日志文件?这样,当我们更改记录内容的方式或位置时,我们只需更改logging.bat
脚本文件,而不必更改每个job-kickoff-batch-scripts本身的任何代码。
job-kickoff.bat
脚本的类似内容:
call :sub | logging.bat
exit
:sub
ECHO Some text that needs to be logged
这适用于logging.bat
脚本:
ECHO %1 >> C:\LogFolder\Log.txt
由于某种原因,我无法让它工作。而且,即使它有效,我也不确定这是否是我想要的最佳方式。
答案 0 :(得分:0)
不完全像你的方法(你注意到它不会起作用),但是怎么样:
#include<iostream>
using namespace std;
class A
{
public:
int a;
void method()
{
//do something
}
static void (*fptr)();
};
int main()
{
A b,c;
if(&(b.method)==&(c.method))
{
cout<<"they are same\n";
}
else
{
cout<<"they are not same\n";
}
return 0;
}
和call <be sure to give a complete absolute path>\logging.bat
call :sub >> %logfile%
goto :eof
:sub
ECHO Some text that needs to be logged
喜欢:
logging.bat