<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jul 26, 2016 at 8:03 AM, Sebastian Kügler <span dir="ltr"><<a href="mailto:sebas@kde.org" target="_blank">sebas@kde.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hey,<br>
<br>
[Please keep both lists addressed.]<br>
<br>
Debugging multiscreen issues is a nightmare:<br>
<br>
- there are at least 4 different processes involved (kded, kcmshell /<br>
  systemsettings, kscreen_backend_launcher and plasmashell)<br>
- some are critical during log in<br>
- they IPC with each other<br>
- especially the backend launcher's debug is really hard to get at<br>
<br>
This means that:<br>
- it's hard (almost impossible) for users to get us good and useful logs<br>
- it's hard for ourselves to debug and find out what's exactly going on,<br>
especially when multiple components need to play in tune<br>
<br>
Yesternight, after debugging the so-many-th issue, it occurred to me that we<br>
need to make this way easier to debug. Q(C)Debug falls short in that we get<br>
logs of individual components, if we're lucky. If we're really lucky, we get<br>
timestamps, so we can get a rough idea of what is going down when.<br>
<br>
All of these problems can be solved with a relatively simple, shared log file.<br>
<br>
So I'd like to switch most of (lib)kscreen's debug output to logging to a<br>
file. The files has then logs from multiple processes and will be much easier<br>
to go through.<br></blockquote><div><br></div><div>Wouldn't this create a possible concurrency issues when multiple processes</div><div>write to the same file?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
What do you think? If you like the idea, I'll polish up my branch and will<br>
post it for review, so we can discuss the actual implementation.<br></blockquote><div><br></div><div>I think a possible better way could be to log each component into each own</div><div>file (in the same dir) with timestamps and function stamps and process stamps</div><div>and everything and then merge those files using some automation and sort by</div><div>timestamp. Unless Qt on Linux actually handles concurrent write access just fine</div><div>and in the correct order (I know it didn't on Windows last time I looked).</div></div><br clear="all"><div>Cheers</div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div><span style="color:rgb(102,102,102)">Martin Klapetek</span></div></div></div></div>
</div></div>