Momentan tauchen im Logfile beispielsweise folgende Einträge auf:
2019.02.23 12:53:20 3: Opening mqtt2 device meine.url.irgendwo:8883
2019.02.23 12:53:20 3: mqtt2 device opened
Nun wünsche ich mir eine Möglichkeit, dass echte URL nicht im Logfile stehen, schon gar nicht im Standard-Loglevel 3.
Im vorliegenden Fall geht es um das device "mqtt2" vom TYPE MQTT2_CLIENT
Die Meldung im Logfile kommt aber gar nicht aus MQTT2_CLIENT, sondern aus DevIO.pm.
Also mussten 2 patches gebaut werden:
Index: DevIo.pm
===================================================================
--- DevIo.pm (revision 18682)
+++ DevIo.pm (working copy)
@@ -283,7 +283,7 @@
$hash->{PARTIAL} = "";
Log3 $name, 3, ($hash->{DevioText} ? $hash->{DevioText} : "Opening").
- " $name device $dev" if(!$reopen);
+ " $name device ". (AttrVal($name,"privacy",0) ? "(private)" : $dev) if(!$reopen);
if($dev =~ m/^UNIX:(SEQPACKET|STREAM):(.*)$/) { # FBAHA
my ($type, $fname) = ($1, $2);
Index: 00_MQTT2_CLIENT.pm
===================================================================
--- 00_MQTT2_CLIENT.pm (revision 18682)
+++ 00_MQTT2_CLIENT.pm (working copy)
@@ -46,6 +46,7 @@
msgAfterConnect
msgBeforeDisconnect
mqttVersion:3.1.1,3.1
+ privacy:0,1
rawEvents
subscriptions
SSL
Damit kann ich nun im device "mqtt2" das Attribut "privacy" auf 1 setzen und im Logfile taucht dann nur noch folgendes auf:
2019.02.23 12:53:46 3: Opening mqtt2 device (private)
2019.02.23 12:53:46 3: mqtt2 device opened
Ziel erreicht :)
Das Attribut "privacy" läßt sich sicher auch noch in andere Low-Level Module einbauen, die mit DevIO.pm arbeiten.
Mit der Loesung habe ich kein Problem, nur mit dem Problem. :)
In welchen Faellen sollte das lieber geheim bleiben?
Wenn man beispielsweise Problembeschreibungen ins Forum postet und darin Logauszüge verwendet, ohne diese auf solche Daten kontrolliert zu haben.
Ist mir heute selbst passiert, deshalb kam ich zu diesen beiden patches.
Habs eingecheckt.
Danke.