'u değiştirin System.out.println();
ile yazdırılan çıktıyı değiştirmek istiyorum. Bu nasıl mümkün olabilir? Bu mümkündür - Bukkit/Craftbukkit'te gördüm. Bir eklenti System.out.println (String dizgisi) ile bir dize yazdırıyorsa; Bukkit bir zaman/tarih ve dizeye durum kaydı ekler. Aynı şeyi Bukkit gibi yapmak istiyorum.System.out.println() içine kancalayın; ve
5
A
cevap
12
Standart çıkış olarak kullanılır PrintStream
değiştirebilirsiniz: baskılar ekstra olan bilgileri (eski) standart çıkışa istediğiniz kendi PrintStream
uygulaması oluşturun
System.setOut(PrintStream out)
ve set Bu sahip:
System.setOut(myStream);
Örnek:
Aşağıdaki örnek yazdırır PrintStream.println(String x)
yöntemi ile basılmıştır basılan her String
önce mevcut zaman Millis:
PrintStream myStream = new PrintStream(System.out) {
@Override
public void println(String x) {
super.println(System.currentTimeMillis() + ": " + x);
}
};
System.setOut(myStream);
System.out.println("Hello World!");
Çıkış:
1420553422337: Hello World!
Not:
Bu örnek yalnızca geçersiz kılar PrintStream.println(String x)
yöntemi,'ün diğer yazdırma yöntemlerini çağırıyor, çıkışa zaman damgası eklemez.
0
PrintStream print= new PrintStream(System.out) {
@Override
public void println(String yourString) {
super.println(System.currentTimeMillis()+ ": " + yourString);
}
};
print.println("your String");
İlgili konular
- 1. Integer.MAX_VALUE karşılaştırarak ve System.out.println
- 2. ViewPagerFragments (System.out.println() ve TextView farklı davranır)
- 3. System.out.println() günlüklerini nerede bulabilirim?
- 4. Yakıt UX - Sihirbazdaki değişiklik olayına kancalayın
- 5. java fark StdOut vs System.out.println
- 6. System.out.println() içinde JSP sayfası görüntülenmiyor
- 7. System.out.println ile kilitlenme ve askıya alınmış bir iş parçacığı
- 8. Ürününüzü bir deque içine yerleştirme
- 9. Neden Bu kod parçasını deneyin System.out.println() ASCII kodu sıfır
- 10. nasıl ViewController.h ve tersine içine File.swift aktarabilirim?
- 11. InputStream byte [] içine dönüştürmenin en etkin yolu?
- 12. UICiewcontrollers'ı UICollectionviewCells içine gömme
- 13. dönüştürme `` içine FALSE nil`
- 14. nasıl iPhone MIDI içine
- 15. sayfa başlığı MVC4 içine
- 16. Python'u MATLAB içine gömme
- 17. ScrollView EditText içine atlar
- 18. Nasıl R studio içine .Rmd .md içine dönüştürmek için?
- 19. C++ içine yerleştirme Lua
- 20. Dize İçine Tamsayı Dönüştürme
- 21. tek BufferedGeometry içine
- 22. Bir Java dizisini kendi içine nasıl yerleştirebilirim?
- 23. İmleç C# içine kaçırmadan fare/kalem olayları klonlama ve değiştirme?
- 24. Kakao programında bir pencerenin içine ve dışına görünümü nasıl kaydırabilirim
- 25. Autofac, WebApi ve OWIN üzerinde ValidationAttribute içine enjekte edilir
- 26. GörünümWillAppear ve ne zaman viewDidLoad içine koymak ne zaman?
- 27. Verme, Verileri ve dosyaları metin içine ekleme/hazırlama (Mathematica)
- 28. Tek bir resmi nasıl yakalarım ve localStorage içine koyarım?
- 29. Resim ve metni tablo hücresinin içine doğru dikey olarak hizalama
- 30. Marshalling enum XML kullanarak JAXB içine nitelikleri ve JAXWS Açıklamalar
Kendi "yazdırma" sınıfınızı tasarlayıp uygulamaktan ve kullanmaktan daha iyi olur. – ErstwhileIII
Ben oturum açmak için kendi logger sınıf var ama benim yazılım Bukkit gibi biraz. Diğer kullanıcılar bunun için eklentiler geliştirebilir ve eklenti println() yöntemini kullanırken bir önek de olmalıdır. Böylece kaydedicimi kullanabilirler, ancak kullanmak zorunda değiller. – TrustedCreeper