2 Mart 2012 Cuma

LogParser FUNCTIONS

ADD
ADD ile verilen değerlerin toplamı bulunmaktadır.
ADD( SYSTEM_TIMESTAMP(), TIMESTAMP('3', 'd') )

BIT_AND
İki değeri and işlemi uygulayıp bit değerini bize verir.
WHERE BIT_AND( Flags, 0x40 ) <> 0

BIT_NOT
İki değere NOT işlemi uygulayıp bit değerini bize verir.
WHERE BIT_AND( Flags, BIT_NOT( 0x40 ) ) <> 0

BIT_OR
İki değere OR işlemi uygulayıp bit değerini bize verir.
WHERE BIT_AND( Flags, BIT_OR( 0x40, 0x80 ) ) <> 0

BIT_SHL
Verilen değeri belirtilen bit değeri kadar sola kaydırır.
BIT_SHL( Value, 3 )

BIT_SHR
Verilen değeri belirtilen bit değeri kadar sağa kaydırır.
BIT_SHR( Value, 3 )


BIT_XOR
Verilen değerleri XOR işlemi uygulayıp bit değerini bize verir.
BIT_XOR( Code1, EventMask )

CASE
CASE ile belirtilen durumlar için bize sonucun oluşmasını sağlamaktadır.

CASE argument <ANY TYPE>
WHEN testValue1 <ANY TYPE> THEN replaceValue1 <ANY TYPE>
[ WHEN testValue2 <ANY TYPE> THEN replaceValue2 <ANY TYPE> ...]
[ ELSE finalReplaceValue <ANY TYPE> ]
END

SELECT CASE EventType
      WHEN 1 THEN 'ERROR'
      WHEN 2 THEN 'WARNING'
      WHEN 4 THEN 'INFORMATION'
      ELSE 'UNKNOWN'
END AS MyEventTypeName
FROM System

COALESCE
Null olmayan ilk değeri bize veren fonksiyondur.
COALESCE( NULL, NULL, NULL, 'Value1', 'Value2' )
Sonuç:  Value1  olacaktır.

Computer_Name
Bilgisayarın netbios name ini bize verecektir.
SELECT COMPUTER_NAME()

DIV
Verilen iki değeri birbirine böler.
DIV( time-taken, 1000 )

EXP

EXP( MyCategory )

EXP10

SELECT sc-bytes, TO_INT( EXP10( ROUND( LOG10( sc-bytes ) ) ) ) AS PowerOfTen FROM <1>
sc-bytes PowerOfTen
-------- ----------
15       10
80       100
195      100
205      100
550      1000
1840     1000
14860    10000
             85900    100000

EXTRACT_EXTENSION
Verilen pathdeki dosyanın uzantısını bize verecektir.
EXTRACT_EXTENSION( 'C:\MyLogs\Latest\extend1.log' )   Sonuç:log

EXTRACT_FILENAME
Verilen pathdeki dosyanın adını bize verecektir.
EXTRACT_FILENAME( 'C:\MyLogs\Latest\extend1.log'     Sonuç: extend1.log

EXTRACT_PATH
Verilen bilgideki path değerini bize verecektir.
EXTRACT_PATH( 'C:\MyLogs\Latest\extend1.log' )   Sonuç:    C:\MyLogs\Latest

EXTRACT_PREFIX
Verilen argumanlardan  index deki değer kadar separatorde belirtilen objenin öncesindeki bilgileri bize verir.
EXTRACT_PREFIX ( argument <STRING>, index <INTEGER>, separator <STRING> )
EXTRACT_PREFIX( 'First-|-Second-|-Third-|-Fourth', 0, '-|-' )
EXTRACT_PREFIX( 'First-|-Second-|-Third-|-Fourth', 1, '-|-' )
EXTRACT_PREFIX( 'First-|-Second-|-Third-|-Fourth', 2, '-|-' )
EXTRACT_PREFIX( 'First-|-Second-|-Third-|-Fourth', 3, '-|-' )
Sonuç:
First
First-|-Second
First-|-Second-|-Third
First-|-Second-|-Third-|-Fourth

EXTRACT_SUFFIX
Verilen argumanlardan  index deki değer kadar separatorde belirtilen objenin sondakinden başlayıp ilk değere kadar olan bilgileri bize verir.
EXTRACT_SUFFIX ( argument <STRING>, index <INTEGER>, separator <STRING> )
EXTRACT_SUFFIX( 'First-|-Second-|-Third-|-Fourth', 0, '-|-' )
EXTRACT_SUFFIX( 'First-|-Second-|-Third-|-Fourth', 1, '-|-' )
EXTRACT_SUFFIX( 'First-|-Second-|-Third-|-Fourth', 2, '-|-' )
EXTRACT_SUFFIX( 'First-|-Second-|-Third-|-Fourth', 3, '-|-' )
Sonuç;
Fourth
Third-|-Fourth
Second-|-Third-|-Fourth
First-|-Second-|-Third-|-Fourth

EXTRACT_TOKEN
Belirtilen separatorden belirtilen index değeri kadar olan ve bir öncesine kadar olan değerleri bize verecektir.
EXTRACT_TOKEN ( argument <STRING>, index <INTEGER> [ , separator=',' <STRING> ] )
EXTRACT_TOKEN( 'First-|-Second-|-Third-|-Fourth', 0, '-|-' )
EXTRACT_TOKEN( 'First-|-Second-|-Third-|-Fourth', 1, '-|-' )
EXTRACT_TOKEN( 'First-|-Second-|-Third-|-Fourth', 2, '-|-' )
EXTRACT_TOKEN( 'First-|-Second-|-Third-|-Fourth', 3, '-|-' )


Sonuç;
First
Second
Third
Fourth

EXTRACT_VALUE
Verilen değerler içerisinde separator olarak belirtilen değerin eşitliğini bize verecektir.
EXTRACT_VALUE ( argument <STRING>, key <STRING> [ , separator='&' <STRING> ] )
EXTRACT_VALUE( 'FirstKey=FirstVal&SecondKey=SecondVal&ThirdKey=ThirdVal', 'SecondKey' )
Sonuç;  SecondVal

FLOOR
Verilen değeri bir alt tamsayıya çevirir.
FLOOR( 4.9837 )         Sonuç: 4

HASHMD5_FILE
Verilen dosyanın md5 hash bilgisini bize verir.
HASHMD5_FILE( 'C:\Temp\MyLib.dll' )   Sonuç:  F01D02D6FD63E98BBD68E61AB96165F2

HASHSEQ
Belirtilen değerdeki
SELECT SourceName, HASHSEQ( SourceName ) FROM System
SourceName              HASHSEQ(SourceName)
----------------------- -------------------
EventLog                1
EventLog                1
Service Control Manager 2
Service Control Manager 2
Service Control Manager 2
EventLog                1
Ati HotKey Poller       3
EventLog                1
EventLog                1
Service Control Manager 2
Application Popup       4
EventLog                1
             Ati HotKey Poller       3

HEX_TO_ASC
Hexadecimal değeri ASCII ye çevirir.
HEX_TO_ASC( '6566676804707172' )    Sonuç : efgh.pqr

HEX_TO_HEX16
Hexadecimal değeri 16 bit Hexadecimal değere çevirir. WORD
HEX_TO_HEX16( '0490A4FEDC880242' )    Sonuç :  9004 FEA4 88DC 4202

HEX_TO_HEX32
Hexadecimal değeri 32 bit Hexadecimal değere çevirir. DWORD
HEX_TO_HEX32( '0490A4FEDC880242' )  Sonuç:  FEA49004 420288DC

HEX_TO_HEX8
Hexadecimal değeri 8bit Hexadecimal değere çevirir.
HEX_TO_HEX8( '0490A4FEDC880242' )   Sonuç:  04 90 A4 FE DC 88 02 42

HEX_TO_INT
Hexadecimal değeri integer a çevirir.
HEX_TO_INT( 'FE08AAD64C' )   Sonuç:  1091067106892

HEX_TO_PRINT
Hexadecimal değeri print edilebilecek ASCII değerine çevirir.
HEX_TO_PRINT( '656667680D0A70710472' )    Sonuç:  efgh
pq.r

INDEX_OF
Verilen stringde bulunan searchstr değerinin ne kadar bulunduğunu bize verecektir.
INDEX_OF ( string <STRING>, searchStr <STRING> )
INDEX_OF( '192.168.1.100', '.' )   Sonuç:  3

INT_TO_IPV4
Integer değeri IP v4 e çevirir.
INT_TO_IPV4( 3232235876 )  Sonuç:   192.168.1.100

LAST_INDEX_OF

LAST_INDEX_OF( '192.168.1.100', '.' )   Sonuç:  9
LOG
Verilen değerin doğal logaritmasını bulur.
LOG( MyCategory )

LOG10
10 tabanlı logaritma değerini bulacaktır.
SELECT sc-bytes, TO_INT( EXP10( ROUND( LOG10( sc-bytes ) ) ) ) AS PowerOfTen FROM <1>
sc-bytes PowerOfTen
-------- ----------
15       10
80       100
195      100
205      100
550      1000
1840     1000
14860    10000
                85900    100000

LTRIM
Verilen değerin başındaki boşlukları silecektir.
LTRIM(     Comment )

MOD
Verilen değeri birbirine bölüp kalan değeri bize verecektir.
MOD( time-taken, 1000 )

MUL
İlk değer ile ikinci değeri çarpıp bize sonucu verir.
MUL( sc-bytes, 1000 )

OUT_ROW_NUMBER
Çıktı kayıt numarasını bize verecektir.
SELECT SourceName, OUT_ROW_NUMBER() FROM System
SourceName              OUT_ROW_NUMBER()
----------------------- ----------------
EventLog                1
EventLog                2
Service Control Manager 3
Service Control Manager 4
Service Control Manager 5
Service Control Manager 6
Service Control Manager 7
Service Control Manager 8
Service Control Manager 9
                Service Control Manager 10

QNTFLOOR_TO_DIGIT
Verilen değer doğrultusundaki digit değerini 10 un katları şeklinde olacak şekilde aşağı yuvarlar.
SELECT time-taken, QNTFLOOR_TO_DIGIT( time-taken, 1 ) AS Dgt1, QNTFLOOR_TO_DIGIT( time-taken, 2 ) AS Dgt2 FROM <1>
time-taken Dgt1   Dgt2
---------- ------ ------
17         10     17
178        100    170
1789       1000   1700
17898      10000  17000
178982     100000 170000

QNTROUND_TO_DIGIT
Verilen değer doğrultusundaki digit değerini 10 un katları şeklinde olacak şekilde yukarı yuvarlar.
SELECT time-taken, QNTROUND_TO_DIGIT( time-taken, 1 ) AS Dgt1, QNTFLOOR_TO_DIGIT( time-taken, 2 ) AS Dgt2 FROM <1>
time-taken Dgt1   Dgt2
---------- ------ ------
17         20     17
178        200    180
1789       2000   1800
17898      20000  18000
178982     200000 180000

QUANTIZE
Verilen 2. Değerin katlarından alt değerine yakınına yuvarlar.
SELECT time-taken, QUANTIZE( time-taken, 50 ) AS Qnt FROM <1>
time-taken Qnt
---------- ----
15         0
80         50
195        150
200        200
205        200
1840       1800
1860       1850

REPLACE_CHR
İlk verilen değerde 2. Değerin herbiri yerine 3. Değeri import eder.
REPLACE_CHR( 'This is a Test', 'is', 'Replace' )   Sonuç:  ThReplaceReplace ReplaceReplace a TeReplacet

REPLACE_STR
İlk verilen değerde 2. Değerin yerine 3. Değeri import eder.
REPLACE_STR( 'This is a Test', 'is', 'Replace' )   Sonuç: ThReplace Replace a Test

RESOLVE_SID
SID Bilgisinden hesap adına ulaşmamızı sağlar.
SELECT SID, RESOLVE_SID( SID ) FROM Security
SID      RESOLVE_SID(SID)
-------- ----------------------------
S-1-5-18 NT AUTHORITY\SYSTEM
S-1-5-20 NT AUTHORITY\NETWORK SERVICE
S-1-5-19 NT AUTHORITY\LOCAL SERVICE
S-1-5-7  NT AUTHORITY\ANONYMOUS LOGON

REVERSEDNS
Reversedns ile ip adresinden domain adını bulabilmekteyiz.
SELECT REVERSEDNS( c-ip ) FROM <1>

ROT13
Verilen stringi rot13 algoritmasına göre şifreler. Yada şifrelenmiş veriyi orjinaline çevirir.
ROT13( 'This is a test' )   Sonuç: Guvf vf n grfg
ROT13( 'Guvf vf n grfg' )  Sonuç : This is a test

ROUND
Verilen sayıyı bir üst tam sayıya yuvarlar.
ROUND( 4.9837 )   Sonuç: 5.000000


RTRIM
Verilen değerin sonundaki boşlukları silecektir.
RTRIM( Comment       )

SEQUENCE
Verilen değerden itibaren 1 er 1 er değeri artırarak sonuca yazar.
SELECT SourceName, SEQUENCE(1000) FROM System
SourceName              SEQUENCE(1000)
----------------------- --------------
EventLog                1000
EventLog                1001
Service Control Manager 1002
Service Control Manager 1003
Service Control Manager 1004
Service Control Manager 1005
Service Control Manager 1006
Service Control Manager 1007
Service Control Manager 1008
Service Control Manager 1009

SQR
Verilen değerin karesini hesaplar.
SQR( cs-bytes )

SQRROOT
Verilen değerin karekökünü hesaplar.
SQRROOT( cs-bytes )

STRCNT
Verilen 2. Değerin 1. Değerde kaç kere bulunduğunu bize verecektir.
STRCNT( 'This is a Test', 'is' )   Sonuç :  2

STRLEN
Verilen değerin uzunluğunu bize verecektir.
SELECT STRLEN( cs-uri-stem ) FROM <1>

STRREPEAT
2. değer kadar ilk değeri tekrar eder.
STRREPEAT( 'A', 20 )  Sonuç: AAAAAAAAAAAAAAAAAAAA

STRREV
Verilen değeri ters biçimde gösterir.
STRREV( 'This is a test' )   Sonuç:    tset a si sihT

SUB
İlk değerden ikinci değeri çıkarmaktır.
SUB( 'ThisIsATest', 'This' )   Sonuç: IsATest

SUBSTR
2. değer kadar sonraki ilk değerin sonucunu bize verir.
SUBSTR( 'This is a test', 10 )   Sonuç: test

SYSTEM_DATE
Sistem tarihini bize verecektir.
SELECT * FROM <1> WHERE date < SYSTEM_DATE()

SYSTEM_TIME
Sistem saatini bize verecektir.
SELECT * FROM <1> WHERE date = SYSTEM_DATE() AND time >= QUANTIZE( SYSTEM_TIME(), 3600 )

SYSTEM_TIMESTAMP
Sistem tarih ve saatini bize verecektir.
SELECT TO_LOCALTIME( SYSTEM_TIMESTAMP() )

SYSTEM_UTCOFFSET
Zamanı  saat:dakika olacak şekilde bize verecektir.
TO_STRING( SYSTEM_UTCOFFSET(), 'hh:mm' )   Sonuç: 08:00

TO_DATE

SELECT * FROM System WHERE TO_DATE( TimeGenerated ) = TO_LOCALTIME( SYSTEM_DATE() )
TO_HEX
Tam sayıyı hexadecimal sayıya çevirir.
TO_HEX( 242 )   Sonuç:  0x000000F2

TO_INT
Verilen değerleri tamsayıya çevirir.
TO_INT( 5.78 )   Sonuç : 6
TO_INT( '0xF2' )  Sonuç: 242

TO_LOCALTIME
Yerel zaman bilgisini bize verecektir.
SELECT *
FROM SYSTEM
WHERE TimeGenerated >= TO_LOCALTIME( SUB( SYSTEM_TIMESTAMP(), TIMESTAMP('3', 'd') ) )

TO_LOWERCASE
Verilen değeri küçük harflerle yazılmasını sağlar.
TO_LOWERCASE( 'Mixed Case String' )   Sonuç:  mixed case string

TO_REAL
Verilen değeri gerçek değere dönüştürür.
TO_REAL( 5 )  Sonuç: 5.000000
TO_REAL( '242.789' )  Sonuç:  242.789000

TO_STRING
Gerçek yada integer data tipini stringe çevirir.
TO_STRING( 242 )  Sonuç : 242

TO_TIME
Verilen değeri full zaman damgası bilgisine çevirir.
SELECT * FROM System WHERE QUANTIZE( TO_TIME( TimeGenerated ), 3600 ) = TIMESTAMP( '14:00', 'hh:mm' )

TO_TIMESTAMP
Verilen değeri belirtilen şekilde  zaman bilgisine çevirir.
WHERE TO_TIMESTAMP( MyField, 'yyyy, MM dd hh:mm' ) > SYSTEM_TIMESTAMP()
TO_UPPERCASE
Verilen değeri büyük harflerle yazılmasını sağlar.
TO_UPPERCASE( 'Mixed Case String' )  Sonuç :  MIXED CASE STRING

TO_UTCTIME
Yerel zamanı UTC zamanına dönüştürür.
SELECT *
FROM SYSTEM
WHERE TO_UTCTIME( TimeGenerated ) >= SUB( SYSTEM_TIMESTAMP(), TIMESTAMP('3', 'd') )

TRIM
TRIM ile verilen değerin başındaki ve sonundaki boşlular silinir.      TRIM( Comment )

URLESCAPE
Verilen değeri http sorgusu haline çevirir.
URLESCAPE( '/My Test Dir/default.asp?param=Test&Value=%' )
Sonuç:  /My%20Test%20Dir/default.asp?param=Test&Value=%25

URLUNESCAPE
URLESCAPE in tam tersi işlemini gerçekleştirir.
URLUNESCAPE( '/My%20Test%20Dir/default.asp?param=Test&Value=%25' )
Sonuç: /My Test Dir/default.asp?param=Test&Value=%

WIN32_ERROR_DESCRIPTION
Windows error kod bilgisini bize verecektir.
SELECT sc-status, sc-win32-status as WStatus, WIN32_ERROR_DESCRIPTION( WStatus ) FROM <1>
sc-status WStatus WIN32_ERROR_DESCRIPTION(WStatus)
404       2       The system cannot find the file specified.
404       64      The specified network name is no longer available.
404       3       The system cannot find the path specified.
200       109     The pipe has been ended.
500       87      The parameter is incorrect.
500       64      The specified network name is no longer available.
500       231     All pipe instances are busy.
500       109     The pipe has been ended.
500       536     Waiting for a process to open the other end of the pipe.



LogParser Data Types

Integer
-2^63  -1  den + 2^63 -1 e kadar olan sayıları içermektedir.

Real
±5.0×10-324 ±1.7×10308 aralığındaki değerleri içermektedir.

String
Bir dizi bilgisi içermektedir.

Null
Bilinmeyen yada mevcut olmayan veri bilgisidir.

TIMESTAMP
Zaman damgası bilgisidir. TO_TIMESTAMP(Text, 'MMM ddd yyyy')

Hiç yorum yok:

Yorum Gönder