• 07-11-2020, 01:39:39
    #1
    Merhaba bir programın ürettiği log dosyasının içinden belirli bir verinin değerini çekip yazdırmak istiyorum örnek çıktı altta belirttiğim gibi ?

    Mini Monitor ID = "23345637563"

    yani yukarıdaki 23345637563 sayısını C# windows form uygulaması ile çekmek istiyorum.
  • 07-11-2020, 01:50:48
    #2
    Ak0 adlı üyeden alıntı: mesajı görüntüle
    Merhaba bir programın ürettiği log dosyasının içinden belirli bir verinin değerini çekip yazdırmak istiyorum örnek çıktı altta belirttiğim gibi ?

    Mini Monitor ID = "23345637563"

    yani yukarıdaki 23345637563 sayısını çekmek istiyorum.
    Hangi yazılım diliyle ve ne amaçla çekmek istediğinizi söylerseniz yardımcı olan olacaktır.
  • 07-11-2020, 01:53:09
    #3
    Eğer belirli bir formatta değil ise , dosyayı program ile satır satır okuyup örneğin c# için , List<string> liste = File.ReadAllLines(klasöryolu).ToList(); gibi .Bu liste foreach ile gezilerek her bir satır içerisinde string.contains("Mini Monitör ID") arayabilir ilgili satırı bulduğunuzda ise yine string için split(),substring() gibi metodlar ile elinizdeki veriyi parçalar ve istediğiniz sonuca ulaşabilirsiniz
  • 07-11-2020, 01:55:31
    #4
    C# ile hocam Playout programının ürettiği id'yi otomatik olarak log dosyasından değiştirmek istiyorum.
  • 07-11-2020, 04:07:59
    #5
    @bycyberchild; teşekkürler idparca.Split('=').Last() şekilde id'yi çekebildim.
  • 07-11-2020, 05:30:42
    #6
    @Ak0; iyi çalışmalar hocam ☺️
  • 07-11-2020, 21:04:31
    #7
    @bycyberchild; Teşekkürler hocam son olarak şöyle bir sıkıntım çıktı program açık olduğu için içeriği düzeltmeme izin vermiyor veya dosyayı kaydedemiyorum alternatif biz çözüm buldum kopya_log.log diye bir dosya oluşturdum içeriği boşalttım ve ve o oluşturduğum dosyanın boş içeriğini asıl kaydetmek istediğim log dosyasına farklı şekilde kaydettim ama kolay yolu var ise öğrenmek istiyorum.

                string
                 fileName = @"E:\Marsis\Logs\kopya_log.log";
                string
                 fileName2 = @"E:\Marsis\Logs\outlog.log";
                string
                 targetPath = @"E:\Marsis\Logs";
    
                string
                sourceFile = System.IO.Path.Combine(targetPath, fileName);
                string
                 destFile = System.IO.Path.Combine(targetPath, fileName2);
    
                if
                 (!System.IO.Directory.Exists(targetPath)) { System.IO.Directory.CreateDirectory(targetPath); }
    
                 System.IO.File.Copy(sourceFile, destFile, true);
  • 07-11-2020, 22:28:12
    #8
    @Ak0; orjinal log dosyanizi tutmak işinize yarayabilir , File class ı için File.WriteAllText(dosyayolu,içerik) gibi metodlar kullanabilirsiniz daha pratik olabilir örneğin WriteAllText() ile 2. Parametre olarak içerik için string.empty; verirseniz doğrudan dosyanın içeriğini silmiş oluruz ReadAllLines(),ReadAllText(), gibi metodları da okumak için kullanırsak aynı dosyaya yazmak konusunda bir sorun oluşturmayacaktır.