我已将log4net日志文件添加到我的统一应用程序中。当我在自己的计算机上运行我的应用程序时,成功创建了日志文件并记录了数据,但是当我发布应用程序的内部版本并在另一个系统中运行时,则不会创建日志文件。请提出任何想法,在日志文件中创建时缺少的内容。这是用于创建日志文件的代码。
public static void ConfigureAllLogging()
{
try
{
var patternLayout = new PatternLayout
{
ConversionPattern = "%date %-5level %logger - %message%newline"
};
patternLayout.ActivateOptions();
// setup the appender that writes to Log\EventLog.txt
var fileAppender = new RollingFileAppender
{
AppendToFile = true,
File = @"TestLog/log.txt",
Layout = patternLayout,
MaxSizeRollBackups = 1,
MaximumFileSize = "10MB",
RollingStyle = RollingFileAppender.RollingMode.Size,
StaticLogFileName = true,
LockingModel = new RollingFileAppender.MinimalLock(),
};
fileAppender.ActivateOptions();
var unityLogger = new UnityAppender
{
Layout = new PatternLayout()
};
unityLogger.ActivateOptions();
BasicConfigurator.Configure(fileAppender);
}
catch(Exception ex)
{
LoggingManager.Error(ex, "ConfigureAllLogging", "Log4netLogHelper");
}
}
答案 0 :(得分:2)
问题很可能是由于文件保存位置所致。该代码将在编辑器中工作,但构建失败。 Unity希望您保存和读取Application.persistentDataPath
中的数据。这是您可以在每个平台上的Unity中读取和写入的唯一路径。
替换
File = @"TestLog/log.txt",
使用
File = Application.persistentDataPath + "/TestLog/log.txt";