kralhakan2009 1
kralhakan2009
Bodyguardd 1
Bodyguardd
Vahsi Uzman 1
Vahsi Uzman
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Bvural41 1
Bvural41
mavzermete 1
mavzermete
Reklam vermek için turkmmo@gmail.com

Simple Custom Logs

  • Konuyu başlatan Konuyu başlatan durda
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 16
  • Görüntüleme Görüntüleme 2K
C++:
LogFileWithType(type, string);
LogFileWithType(0, "Test From %s, %d", "Source", 1234);
Python:
app.CustomLog(type, string)
app.CustomLog(0, "Test From {}, {}".format("python", 1234))
txtleri burdan ayarlayın:
b7e1f670ef.png

Klasör:
07e468bba8.png

4def4a44fc.png

Not:Önceki logların silinmemesi için fopen'daki w'yi a yapın.
 

En Çok Reaksiyon Alan Mesajlar

Gordugum birkac eksiklikleri belirtecegim.

Öğeyi görmek için üye olmalısınız.

CreateDirectoryA fonksiyonunun donus degerini kontrol etmiyorsun, eger birisi klasoru "x/logs" seklinde degistirirse ve x klasoru mevcut degilse fonksiyon basarisiz olur.


Öğeyi görmek için üye olmalısınız.

Ayni sekilde donus degerini kontrol etmemissin fopen fonksiyonunun, eger basarisiz olursa null pointer doner.


Öğeyi görmek için üye olmalısınız.

va_end cagirmamissin.


Kaynaklar
Öğeyi görmek için üye olmalısınız.
Öğeyi görmek için üye olmalısınız.
Öğeyi görmek için üye olmalısınız.
yukardaki arkadaşa ek olarak bende gördüklerimi yazayım.

Öğeyi görmek için üye olmalısınız. constructor de vectör temizlenmesine gerek yok zaten boş olarak oluşturur.
Öğeyi görmek için üye olmalısınız. ve Öğeyi görmek için üye olmalısınız. make_unique ile default destructor tanımlayabilirsin, class da tekrar kendin kullanmana gerek kalmaz;
m_fp.emplace_back(std::make_unique<FILE*>(fopen((path + "/" + v).c_str(), "w"), ::fclose));
Öğeyi görmek için üye olmalısınız. [] operatörü yerine .at kullanırsan daha güvenli olur şuanki halde kontrol olmadığı için indexin doğru değer verdiği belli değil
time, localtime, fprintf gibi c fonksiyonları yerine std::chrono ve std::cout kullanabilirsin
Öğeyi görmek için üye olmalısınız. sıralı ve kontrollü bir liste kullanıyorsan std::vector yerine std::set daha uygun olur.
Öğeyi görmek için üye olmalısınız. _vsnprintf yerine string stream kullanılabilir.
C++:
LogFileWithType(type, string);
LogFileWithType(0, "Test From %s, %d", "Source", 1234);
Python:
app.CustomLog(type, string)
app.CustomLog(0, "Test From {}, {}".format("python", 1234))
txtleri burdan ayarlayın:
b7e1f670ef.png

Klasör:
07e468bba8.png

4def4a44fc.png
Paylaşım için teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst