<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Entwicklung on zefanjas.de - Open Source &amp; Education</title>
    <link>https://zefanjas.de/tags/entwicklung/</link>
    <description>Recent content in Entwicklung on zefanjas.de - Open Source &amp; Education</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>de-DE</language>
    <lastBuildDate>Fri, 21 Jan 2011 13:16:35 +0000</lastBuildDate><atom:link href="https://zefanjas.de/tags/entwicklung/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>webOS Entwickler-Tipps: Logging</title>
      <link>https://zefanjas.de/webos-entwickler-tipps-logging/</link>
      <pubDate>Fri, 21 Jan 2011 13:16:35 +0000</pubDate>
      
      <guid>https://zefanjas.de/webos-entwickler-tipps-logging/</guid>
      <description>&lt;p&gt;Seit etwas mehr als einem Jahr entwickle ich nun mehr oder weniger regelmäßig für webOS. Im Folgenden möchte ich ein paar Tipps weiter geben, welche mir im Laufe der Zeit immer wieder geholfen haben. Heute also: Logging!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Logging von Javascript-Objekten oder JSON-Objekten:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Immer wieder kommt es vor, dass man sich den Inhalt eines Objektes ansehen will oder einfach nur schauen möchte, ob eine Variable den Wert &lt;strong&gt;null&lt;/strong&gt; oder &lt;strong&gt;undefined&lt;/strong&gt; hat. Dazu nutzt man am besten die Logging-Funktion von Mojo:&lt;/p&gt;
&lt;pre class=&#34;brush: js&#34;&gt;Mojo.Log.info(&#34;My Object: %j&#34;, myObject);
```

**Logging auf Info-Level auf einem webOS Gerät:**

Während der Emulator Logging Informationen auf dem Info-Level ausgibt, gibt ein webOS Gerät standardmäßig nur Meldungen auf dem Error-Level aus, d.h. alle Mojo.Log.info bzw. Mojo.Log.warning erscheinen nicht, wenn man die Logs auf dem Gerät verfolgt. Mit dem Befehl **palm-log** lässt sich jedoch das Logging auf Info-Ebene auf einem Gerät aktivieren:

```
palm-log --system-log-level info
```

**Logs von einem Benutzer bekommen**

Oft hat man als Entwickler das Problem, dass ein Benutzer einen Bug in der App feststellt und man gern ein paar Logging-Informationen hätte. Dies lässt sich relativ einfach in einer webOS-App implementieren. Dazu legt man einfach in der _stage-assistent.js_ oder _app-assistent.js_ eine globale Variable an:

&lt;pre class=&#34;brush: js&#34;&gt;logging =&#34;----&#34; + Mojo.appInfo.title + &#34; &#34; + Mojo.appInfo.version + &#34; Log-----&#34;;
```

Nun kann in jedem Scene-Assistent auf diese Variable zugreifen und Logging-Informationen ergänzen, z.B.:

&lt;pre class=&#34;brush: js&#34;&gt;logging += &#34;ERROR: Meine Fehlermeldung&#34;  + &#34; \n&#34;;
```

Damit der Benutzer diese Infos auch schicken kann, fügt man am besten im AppMenu einen Menüpunkt ein (&amp;#8222;Send Logs&amp;#8220;), welcher daraufhin eine neue eMail öffnet mit den Logging-Infos als Nachrichtentext:

&lt;pre class=&#34;brush: js&#34;&gt;this.controller.serviceRequest(&#39;palm://com.palm.applicationManager&#39;, {
					method: &#39;open&#39;,
					parameters: {
						id: &#39;com.palm.app.email&#39;,
						params: {
							summary: &#34;My App Logs&#34;,
							text: logging,
							recipients: [{
								type:&#34;email&#34;,
								role:1,
								value:&#34;foo@example.com&#34;,
								contactDisplay:&#34;Foo&#34;
							}]
						}
					}
				});
```

Wer noch weitere Tipps hat, die das Logging erleichtern, einfach einen Kommentar hinterlassen.</description>
    </item>
    
  </channel>
</rss>
