<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Nyall<div class=""><br class=""></div><div class="">Great to hear you are now more open to having this kind of logging in QGIS. Our budget and budgeted time for adding logging is pretty small (in the order to 1-2 days work). I suspect Richard has sunk quite a considerable amount of time into making his plugin so beautiful and functional. I think there is a good use case for building something more simple in core - a checkbox in settings to enable logging web requests, and a simple text output in the QgsLogMessage of each URL as it is called, along with the return code for the request. In my little universe, Richard's plugin would then still exist as the ‘Ferrari version, whilst out of the box our users have some basic tooling for debugging their services that are not playing nice. </div><div class=""><br class=""></div><div class="">Regards</div><div class=""><br class=""></div><div class="">Tim<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 22 Mar 2020, at 22:42, Nyall Dawson <<a href="mailto:nyall.dawson@gmail.com" class="">nyall.dawson@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">On Mon, 23 Mar 2020 at 01:53, Tim Sutton <<a href="mailto:tim@kartoza.com" class="">tim@kartoza.com</a>> wrote:<br class=""><blockquote type="cite" class=""><br class="">Hi All<br class=""><br class="">A while ago we had a discussion here on the mailing list about adding Network logging to QGIS, similar to what you can do in your browser[1]. Nyall at the time (maybe others) was concerned about security implications of including a network logging tool in QGIS. We were wondering what specific security impacts could be expected (as opposed to for example installing Richard’s very nice logger plugin)[2]? In other words, is there really a good rationale not to port this to C++ and integrate into QGIS core? I think it is very broadly useful for anyone working with remote layers and trying to figure out why they are not loading...<br class=""></blockquote><br class="">I'm a tentative +1 now. My original security concerns were dismissed<br class="">because... well.. we can't really stop this information leaking anyway<br class="">(cos Qt), so a malicious plugin will always be able to capture the<br class="">requests. In fact, having it in c++ will potentially lower the risk,<br class="">cos there's less need for 3rd party plugins to cover this use case<br class="">(that said: Richard maintains the existing Network Logger plugin, so<br class="">that one can be implicitly trusted -- this concern would only extend<br class="">to other future network logger style plugins from other sources!).<br class=""><br class="">Also, it's **extremely** useful.<br class=""><br class="">Now, some thoughts:<br class="">- it would **definitely** need to be ported to c++. The plugin has an<br class="">issue where it slows down after logging and displaying many requests<br class="">in the tree. Both Richard and I spent considerable time trying to<br class="">avoid this, with minimal results. A c++ version should give us more<br class="">flexibility to address the performance issue. (and note: this IS a<br class="">serious issue, as it can cause the whole QGIS UI to slow, not just the<br class="">network logger dock)<br class="">- some nice icons are definitely required :)<br class=""><br class="">Nyall<br class=""><br class=""><blockquote type="cite" class=""><br class="">Regards<br class=""><br class="">Tim<br class=""><br class=""><br class=""><br class="">[1] <a href="http://osgeo-org.1560.x6.nabble.com/QGIS-Developer-URL-Request-logging-of-QGIS-tp5382271p5382330.html" class="">http://osgeo-org.1560.x6.nabble.com/QGIS-Developer-URL-Request-logging-of-QGIS-tp5382271p5382330.html</a><br class="">[2] <a href="https://plugins.qgis.org/plugins/qgisnetworklogger/" class="">https://plugins.qgis.org/plugins/qgisnetworklogger/</a><br class=""><br class="">—<br class=""><br class=""><br class=""><br class=""><br class=""><br class=""><br class=""><br class=""><br class="">Tim Sutton<br class=""><br class="">Co-founder: Kartoza<br class="">Ex Project chair: <a href="http://QGIS.org" class="">QGIS.org</a><br class=""><br class="">Visit <a href="http://kartoza.com" class="">http://kartoza.com</a> to find out about open source:<br class=""><br class="">Desktop GIS programming services<br class="">Geospatial web development<br class="">GIS Training<br class="">Consulting Services<br class=""><br class="">Skype: timlinux<br class="">IRC: timlinux on #qgis at <a href="http://freenode.net" class="">freenode.net</a><br class=""><br class="">I'd love to connect. Here's my calendar link to make finding time easy.<br class=""><br class="">_______________________________________________<br class="">QGIS-Developer mailing list<br class=""><a href="mailto:QGIS-Developer@lists.osgeo.org" class="">QGIS-Developer@lists.osgeo.org</a><br class="">List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer<br class="">Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer<br class=""></blockquote></div></div></blockquote></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-position: normal; font-variant-caps: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; line-height: normal; text-align: center;" class=""><span>—</span></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-position: normal; font-variant-caps: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; line-height: normal; text-align: center;" class=""><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class=""></div><br class="Apple-interchange-newline" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;"><span><span><span><span><span><span><span><span><span><span><span><img apple-inline="yes" id="A8CF9D68-AD5F-4077-AABD-A879B0D4F0AA" src="cid:1A5DF6DE-E302-4C28-BFBD-29663CBF1351" class=""></span><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class="Apple-interchange-newline"><br class="Apple-interchange-newline"><br class="Apple-interchange-newline"><br class="Apple-interchange-newline"><br class=""></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><b class="">Tim Sutton</b></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><b class="">Co-founder:</b><span class="Apple-converted-space"> </span>Kartoza</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><b class="">Ex Project chair:</b><span style="font-weight: normal;" class=""><span class="Apple-converted-space"> </span><a href="http://QGIS.org" class="">QGIS.org</a></span></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">Visit <a href="http://kartoza.com/" class=""><span style="-webkit-text-stroke-color: rgb(71, 135, 255);" class="">http://kartoza.com</span></a> to find out about open source:</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">Desktop GIS programming services</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">Geospatial web development</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">GIS Training</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">Consulting Services</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><b class="">Skype</b>: timlinux </div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><b class="">IRC:</b><span class="Apple-converted-space"> </span>timlinux on #qgis at <a href="http://freenode.net" class="">freenode.net</a></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: initial; text-decoration: none; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><span style="caret-color: rgb(102, 106, 115); color: rgb(102, 106, 115); font-family: "Proxima Nova", sans-serif; font-size: 14px; text-align: left; background-color: rgb(255, 255, 255);" class="">I'd love to connect. </span><a target="_blank" class="t-quick-start-share-link" href="https://calendly.com/timlinux" style="color: rgb(0, 162, 255); text-decoration: none; cursor: pointer; font-family: "Proxima Nova", sans-serif; font-size: 14px; text-align: left;">Here's my calendar link</a><span style="caret-color: rgb(102, 106, 115); color: rgb(102, 106, 115); font-family: "Proxima Nova", sans-serif; font-size: 14px; text-align: left; background-color: rgb(255, 255, 255);" class=""> to make finding time easy.</span></div>
</span></span></span></span></span></span></span></span></span></span></span></div>
</div><br class=""></div></body></html>