2013-12-19 74 views
0

我有一個AIR-app,我希望它將日誌記錄到其應用程序目錄中的txt文件中。如何在本地txt文件中寫入日誌數據?

我有這個類:

public class Logger 
    { 


     public static function log(message:String):void 
     { 
      var logFile:File = File.applicationDirectory; 
      logFile   = logFile.resolvePath("log/Logs.txt"); 

      var fileStream:FileStream = new FileStream(); 
      fileStream.open(logFile, FileMode.APPEND); 

      fileStream.writeUTFBytes("\n" + message); 

      fileStream.close(); 
     } 

    } 

} 

安裝後我的應用程序有這個文件結構

日誌

--Logs.txt

META-INF

XML

airapp.exe

airapp.swf

MIME類型

所以我使用的路徑是正確的。 但是沒有寫入文件發生! 你能幫我一下嗎? 謝謝

Upd。好吧,我很愚蠢。我應該先閱讀正確的文件。 您無法編輯應用程序目錄中的數據。

所以我應該使用applicationStorageDirectory。

但是,如何在該目錄中創建一個文件(在應用程序安裝時),然後在其中添加日誌?

回答

0

試着這麼做:

function saveLog(content:String):void 
{ 
    var data:ByteArray = new ByteArray(); 
    data.writeMultiByte(content, "utf-8"); 
    file.save(data, "Logs.txt"); 
} 

saveLog('testing :)'); 

打開和編輯您的日誌文件,嘗試按照this tutorial

1

上嘗試以下....

function saveLog(logStr:String):void 
{ 


    var myFile:File = File.applicationStorageDirectory.resolvePath("my_logs.txt"); 
    var fs:FileStream = new FileStream(); 
    if(!myFile.exists){ 

    fs.open(myFile, FileMode.WRITE); 
    } 
    else{ 
    fs.open(myFile, FileMode.APPEND); 
    } 
    fs.writeUTFBytes("\n" + logStr); 
    fs.close(); 
} 

調用這個函數創建完成,然後從何處添加日誌。