<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Parsing from SAS SSL_Request Log in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Parsing-from-SAS-SSL-Request-Log/m-p/574357#M162898</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to parse the ssl_request log from our sas bi portal. The field I am trying to parse is the query field within this log.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Examples of these strings:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2F&lt;FONT size="3"&gt;&lt;STRONG&gt;&lt;FONT color="#FF00FF"&gt;UGAdmDataMgt&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;%2F&lt;FONT size="3" color="#339966"&gt;&lt;STRONG&gt;Slate-Banner%2520Sync%2520Issues.xlsx&lt;/STRONG&gt;&lt;/FONT&gt;%2FContent HTTP/1.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2F&lt;STRONG&gt;&lt;FONT size="3" color="#FF00FF"&gt;UGAdmDataMgt&lt;/FONT&gt;&lt;/STRONG&gt;%2F&lt;STRONG&gt;&lt;FONT size="3" color="#339966"&gt;Slate%2520Suspected%2520Matches.xlsx&lt;/FONT&gt;&lt;/STRONG&gt;%2FContent HTTP/1.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2F&lt;STRONG&gt;&lt;FONT size="3" color="#FF00FF"&gt;Funnels&lt;/FONT&gt;&lt;/STRONG&gt;%2F&lt;STRONG&gt;&lt;FONT size="3" color="#339966"&gt;Application_Type_Funnel.pdf&lt;/FONT&gt;&lt;/STRONG&gt;%2FContent HTTP/1.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2F&lt;FONT size="3"&gt;&lt;STRONG&gt;&lt;FONT color="#FF00FF"&gt;Enrollment&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;%2F&lt;STRONG&gt;&lt;FONT size="3" color="#339966"&gt;Fall%2520Enrollment%2520and%2520Prior%2520Enrollment%2520Report.pdf&lt;/FONT&gt;&lt;/STRONG&gt;%2FContent HTTP/1.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2F&lt;FONT size="3"&gt;&lt;STRONG&gt;&lt;FONT color="#FF00FF"&gt;UGStudentSuccess&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;%2F&lt;STRONG&gt;&lt;FONT size="3" color="#339966"&gt;Retention%2520Fall%2520to%2520Fall%2520with%2520Comparisons.pdf&lt;/FONT&gt;&lt;/STRONG&gt;%2FContent HTTP/1.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So I am wanting to parse out the pink and green portions of these strings that I highlighted into two new columns. The entire part to the left of the pink text is consistent for all strings. Starting with the pink text and to the right to the end of the string can vary in words, html, etc...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For these examples I would like to see a end results like:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Group&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Report&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;UGAdmDataMgt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Slate-Banner Sync Issues.xlsx&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;UGAdmDataMgt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Slate Suspected Matches.xlsx&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Funnels&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Application_Type_Funnel.pdf&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Enrollment&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Fall Enrollment and Prior Enrollment Report.pdf&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;UGStudentSuccess&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Retention Fall to Fall with Comparisons.pdf&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My code so far for testing:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data temp1;
      infile "\\have\e$\SAS\Config\Lev1\Web\WebServer\logs\ssl_request_2019-07-15-17.21.log" lrecl=100000 dsd dlm=' ' end=end missover ;
      input  datetime :$21. offset :$6. ip :$14. sslver :$8. encrypt :$25. query :$2500. session :$8.;
run;
data temp2;
      infile "\\have\e$\SAS\Config\Lev1\Web\WebServer\logs\ssl_request_2019-07-15-17.08.log" lrecl=100000 dsd dlm=' ' end=end missover ;
      input  datetime :$21. offset :$6. ip :$14. sslver :$8. encrypt :$25. query :$2500. session :$8.;
run;
data temp3;
      infile "\\have\e$\SAS\Config\Lev1\Web\WebServer\logs\ssl_request_2019-07-15-14.22.log" lrecl=100000 dsd dlm=' ' end=end missover ;
      input  datetime :$21. offset :$6. ip :$14. sslver :$8. encrypt :$25. query :$2500. session :$8.;
run;
data temp4;
      infile "\\have\e$\SAS\Config\Lev1\Web\WebServer\logs\ssl_request_2019-07-10-22.34.log" lrecl=100000 dsd dlm=' ' end=end missover ;
      input  datetime :$21. offset :$6. ip :$14. sslver :$8. encrypt :$25. query :$2500. session :$8.;
run;
data temp5;
      infile "\\have\e$\SAS\Config\Lev1\Web\WebServer\logs\ssl_request_2019-07-06-01.03.log" lrecl=100000 dsd dlm=' ' end=end missover ;
      input  datetime :$21. offset :$6. ip :$14. sslver :$8. encrypt :$25. query :$2500. session :$8.;
run;
data temp_test;
	set temp:;
	if substr(query,1,56) = 'GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content';
	if ip ne 'xxx.xx.x.xx';
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sample output:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture123.PNG" style="width: 781px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/31098i6FF5EDD4A8013982/image-dimensions/781x56?v=v2" width="781" height="56" role="button" title="Capture123.PNG" alt="Capture123.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
    <pubDate>Wed, 17 Jul 2019 20:36:20 GMT</pubDate>
    <dc:creator>SasPerson85</dc:creator>
    <dc:date>2019-07-17T20:36:20Z</dc:date>
    <item>
      <title>Parsing from SAS SSL_Request Log</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Parsing-from-SAS-SSL-Request-Log/m-p/574357#M162898</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to parse the ssl_request log from our sas bi portal. The field I am trying to parse is the query field within this log.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Examples of these strings:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2F&lt;FONT size="3"&gt;&lt;STRONG&gt;&lt;FONT color="#FF00FF"&gt;UGAdmDataMgt&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;%2F&lt;FONT size="3" color="#339966"&gt;&lt;STRONG&gt;Slate-Banner%2520Sync%2520Issues.xlsx&lt;/STRONG&gt;&lt;/FONT&gt;%2FContent HTTP/1.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2F&lt;STRONG&gt;&lt;FONT size="3" color="#FF00FF"&gt;UGAdmDataMgt&lt;/FONT&gt;&lt;/STRONG&gt;%2F&lt;STRONG&gt;&lt;FONT size="3" color="#339966"&gt;Slate%2520Suspected%2520Matches.xlsx&lt;/FONT&gt;&lt;/STRONG&gt;%2FContent HTTP/1.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2F&lt;STRONG&gt;&lt;FONT size="3" color="#FF00FF"&gt;Funnels&lt;/FONT&gt;&lt;/STRONG&gt;%2F&lt;STRONG&gt;&lt;FONT size="3" color="#339966"&gt;Application_Type_Funnel.pdf&lt;/FONT&gt;&lt;/STRONG&gt;%2FContent HTTP/1.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2F&lt;FONT size="3"&gt;&lt;STRONG&gt;&lt;FONT color="#FF00FF"&gt;Enrollment&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;%2F&lt;STRONG&gt;&lt;FONT size="3" color="#339966"&gt;Fall%2520Enrollment%2520and%2520Prior%2520Enrollment%2520Report.pdf&lt;/FONT&gt;&lt;/STRONG&gt;%2FContent HTTP/1.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2F&lt;FONT size="3"&gt;&lt;STRONG&gt;&lt;FONT color="#FF00FF"&gt;UGStudentSuccess&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;%2F&lt;STRONG&gt;&lt;FONT size="3" color="#339966"&gt;Retention%2520Fall%2520to%2520Fall%2520with%2520Comparisons.pdf&lt;/FONT&gt;&lt;/STRONG&gt;%2FContent HTTP/1.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So I am wanting to parse out the pink and green portions of these strings that I highlighted into two new columns. The entire part to the left of the pink text is consistent for all strings. Starting with the pink text and to the right to the end of the string can vary in words, html, etc...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For these examples I would like to see a end results like:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Group&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Report&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;UGAdmDataMgt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Slate-Banner Sync Issues.xlsx&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;UGAdmDataMgt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Slate Suspected Matches.xlsx&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Funnels&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Application_Type_Funnel.pdf&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Enrollment&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Fall Enrollment and Prior Enrollment Report.pdf&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;UGStudentSuccess&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Retention Fall to Fall with Comparisons.pdf&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My code so far for testing:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data temp1;
      infile "\\have\e$\SAS\Config\Lev1\Web\WebServer\logs\ssl_request_2019-07-15-17.21.log" lrecl=100000 dsd dlm=' ' end=end missover ;
      input  datetime :$21. offset :$6. ip :$14. sslver :$8. encrypt :$25. query :$2500. session :$8.;
run;
data temp2;
      infile "\\have\e$\SAS\Config\Lev1\Web\WebServer\logs\ssl_request_2019-07-15-17.08.log" lrecl=100000 dsd dlm=' ' end=end missover ;
      input  datetime :$21. offset :$6. ip :$14. sslver :$8. encrypt :$25. query :$2500. session :$8.;
run;
data temp3;
      infile "\\have\e$\SAS\Config\Lev1\Web\WebServer\logs\ssl_request_2019-07-15-14.22.log" lrecl=100000 dsd dlm=' ' end=end missover ;
      input  datetime :$21. offset :$6. ip :$14. sslver :$8. encrypt :$25. query :$2500. session :$8.;
run;
data temp4;
      infile "\\have\e$\SAS\Config\Lev1\Web\WebServer\logs\ssl_request_2019-07-10-22.34.log" lrecl=100000 dsd dlm=' ' end=end missover ;
      input  datetime :$21. offset :$6. ip :$14. sslver :$8. encrypt :$25. query :$2500. session :$8.;
run;
data temp5;
      infile "\\have\e$\SAS\Config\Lev1\Web\WebServer\logs\ssl_request_2019-07-06-01.03.log" lrecl=100000 dsd dlm=' ' end=end missover ;
      input  datetime :$21. offset :$6. ip :$14. sslver :$8. encrypt :$25. query :$2500. session :$8.;
run;
data temp_test;
	set temp:;
	if substr(query,1,56) = 'GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content';
	if ip ne 'xxx.xx.x.xx';
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sample output:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture123.PNG" style="width: 781px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/31098i6FF5EDD4A8013982/image-dimensions/781x56?v=v2" width="781" height="56" role="button" title="Capture123.PNG" alt="Capture123.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jul 2019 20:36:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Parsing-from-SAS-SSL-Request-Log/m-p/574357#M162898</guid>
      <dc:creator>SasPerson85</dc:creator>
      <dc:date>2019-07-17T20:36:20Z</dc:date>
    </item>
    <item>
      <title>Re: Parsing from SAS SSL_Request Log</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Parsing-from-SAS-SSL-Request-Log/m-p/575681#M162899</link>
      <description>&lt;P&gt;See this code for extracting the two items from your query fiekd:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;options urlencoding=utf8;

data test;
infile datalines truncover;
input query $200.;
query = urldecode(urldecode(query)); /* double urldecode takes care of double characters */
query = substr(query,index(query,'/WebDAV/') + 8);
group = scan(query,1,'/');
report = scan(query,2,'/');
drop query;
datalines;
GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2FUGAdmDataMgt%2FSlate-Banner%2520Sync%2520Issues.xlsx%2FContent HTTP/1.1
GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2FUGAdmDataMgt%2FSlate%2520Suspected%2520Matches.xlsx%2FContent HTTP/1.1
GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2FFunnels%2FApplication_Type_Funnel.pdf%2FContent HTTP/1.1
GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2FEnrollment%2FFall%2520Enrollment%2520and%2520Prior%2520Enrollment%2520Report.pdf%2FContent HTTP/1.1
GET /SASPortal/viewItem.do?com.sas.portal.ItemId=Content%2Bdav%3A%2F%2FWebDAV%2FUGStudentSuccess%2FRetention%2520Fall%2520to%2520Fall%2520with%2520Comparisons.pdf%2FContent HTTP/1.1
;

proc print data=test noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;PRE&gt;group               report

UGAdmDataMgt        Slate-Banner Sync Issues.xlsx                  
UGAdmDataMgt        Slate Suspected Matches.xlsx                   
Funnels             Application_Type_Funnel.pdf                    
Enrollment          Fall Enrollment and Prior Enrollment Report.pdf
UGStudentSuccess    Retention Fall to Fall with Comparisons.pdf    
&lt;/PRE&gt;</description>
      <pubDate>Tue, 23 Jul 2019 08:14:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Parsing-from-SAS-SSL-Request-Log/m-p/575681#M162899</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-07-23T08:14:52Z</dc:date>
    </item>
  </channel>
</rss>

