Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Ist der "Apple Configurator" sinnvoll für Debug und Test ?

  Alt 15. Okt 2015, 18:34
Hallo Mavarik,

nein, ich werde das Logging mit lokaler Sqlite und eigener, externer TcpIp-Kommunikation ausbauen.
Ist im Moment nur für Debugging-Zwecke, da reicht das.

AppAnalytics ist wohl auch für andere Zwecke gedacht, und ich denke es ist auch nicht kostenlos.

Rollo
Kannst Du dir alles sparen...

Einfach nutzen mit

Delphi-Quellcode:
Procedure TGlobalLog.Analytics(ASender : TObject;ACategorie,AAction,AText:String;AValue : Double);
var
  Context: TCustomEventContext;
begin
  if Application.TrackActivity then
    begin
      Context := TCustomEventContext.Create(ACategorie,AAction,AText,AValue);
      Application.AnalyticsManager.RecordActivity(TAppActivity.Custom, ASender, Context);
    end;
end;
Und erzeugen mit

Delphi-Quellcode:
  AppAnalytics1 := TAppAnalytics.Create(self);
  AppAnalytics1.OnPrivacyMessage := AppAnalytics1PrivacyMessage;
  AppAnalytics1.ApplicationID := 'MeineApp';
  AppAnalytics1.Options := [TAppActivity.AppStart, TAppActivity.AppExit, TAppActivity.ControlFocused, TAppActivity.WindowActivated, TAppActivity.Exception, TAppActivity.Custom];

  AppAnalytics1.ServerPort := 81;
  AppAnalytics1.AppAnalyticsServer := '192.168.179.24'; // IP des Servers
  AppAnalytics1.ApplicationID := AppName + ' '+Version;
  AppAnalytics1.UserID := 'TestUser';
  AppAnalytics1.Enabled := true;
Und dann noch einen aufregenden Indy http Server aufsetzen

Delphi-Quellcode:
procedure TForm68.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);

  Function AddSpace(Const AHelp : String;Max:Integer):String;
  begin
    Result := AHelp;

    while length(Result) < Max do
      Result := Result + ' ';
  end;

var
  Entry,MSG : String;
  LogList : TArray<String>;
  i : Integer;
begin
  Entry := ARequestInfo.Params[8];
  LogList := Entry.Split(['|']);

  if length(LogList) > 4 then
    begin
      if (LogList[1] = 'TrackEvent') and (LogList[3] = 'Log')
        then begin
               MSG := LogList[2]+' '+AddSpace(LogList[1],15)+LogList[5];
             end
        else begin
               MSG := LogList[2]+' '+AddSpace(LogList[1],14);
               for i:= 3 to length(LogList)-1 do
                 MSG := MSG + ' '+LogList[i];
             end;
    end;

  Memo1.Lines.Insert(0,MSG);

  if Memo1.Lines.Count > 1000 then
    Memo1.Lines.Delete(1000);

  AResponseInfo.ContentText := 'OK';
  AResponseInfo.ResponseNo := 200;
end;
Fertig
  Mit Zitat antworten Zitat